MENU "EXCEL" {
	STATE "Excel" {
		COMMAND "<Action> <Next or Previous> <Rows or Columns>" {
			SCRIPT {
				num1&=instr(_arg1,"\")-1
				action$=Mid$(_arg1,0,num1&)
				IF (action$="{Ctrl+x}" OR action$="{Del}") THEN MsgBoxConfirm "Are You Sure?",36,"Confirm This Action"
				num3&=instr(_arg3,"\")-1
				rowcol1$=Mid$(_arg3,0,num3&)
				i=instr(rowcol1$,"|")
				IF (i) THEN
				rowcol0$=Mid$(rowcol1$,i)
				rowcol1$=Mid$(rowcol1$,0,i-1)
				END IF
				num2&=instr(_arg2,"\")-1
				nextpre$=Mid$(_arg2,0,num2&)
				i=Instr(nextpre$,"|")
				IF (rowcol1$="Left") THEN
				nextpre$=Mid$(nextpre$,i)
				ELSE
				nextpre$=Mid$(nextpre$,0,i-1)
				END IF
				SendKeys "{"+nextpre$+"}{"+rowcol0$+"}{End}{"+rowcol1$+"}{End}{Shift+"+rowcol0$+"}"
				IF (action$<>"0") THEN SendKeys action$+"{Down}{Up}"
			}
		}

		COMMAND "<Action> <Rows or Columns>" {
			SCRIPT {
				num1&=instr(_arg1,"\")-1
				action$=Mid$(_arg1,0,num1&)
				IF (action$="{Ctrl+x}" OR action$="{Del}") THEN MsgBoxConfirm "Are You Sure?",36,"Confirm This Action"
				num3&=instr(_arg2,"\")-1
				rowcol1$=Mid$(_arg2,0,num3&)
				i=instr(rowcol1$,"|")
				IF (i) THEN
				rowcol0$=Mid$(rowcol1$,i)
				rowcol1$=Mid$(rowcol1$,0,i-1)
				END IF
				SendKeys "{"+rowcol0$+"}{End}{"+rowcol1$+"}{End}{Shift+"+rowcol0$+"}"
				IF (action$<>"0") THEN SendKeys action$+"{Down}{Up}"
			}
		}

		COMMAND "<Action> Selection" {
			SCRIPT {
				num1&=instr(_arg1,"\")-1
				action$=Mid$(_arg1,0,num1&)
				IF (action$="{Ctrl+x}" OR action$="{Del}") THEN MsgBoxConfirm "Are You Sure?",36,"Confirm This Action"
				SendKeys action$
			}
		}

		COMMAND "<Function> <2To20> <Rows or Columns>" {
			SCRIPT {
				num3&=instr(_arg3,"\")-1
				rowcol1$=Mid$(_arg3,0,num3&)
				i=instr(rowcol1$,"|")
				IF (i) THEN
				rowcol0$=Mid$(rowcol1$,i)
				rowcol1$=Mid$(rowcol1$,0,i-1)
				END IF
				num1&=instr(_arg1,"\")-1
				fun$=Mid$(_arg1,0,num1&)
				IF (rowcol1$="Left") THEN
				D="{Down}"
				ELSE
				D="{Right}"
				END IF
				i=Val(_arg2)
				DO WHILE (i>0)
				SendKeys "{Esc}="+fun$+"({"+rowcol1$+"}.{Ctrl+"+rowcol1$+"})"+D
				i=i-1
				LOOP
			}
		}

		COMMAND "<Function> <Rows or Columns>" {
			SCRIPT {
				num3&=instr(_arg2,"\")-1
				rowcol1$=Mid$(_arg2,0,num3&)
				i=instr(rowcol1$,"|")
				IF (i) THEN
				rowcol0$=Mid$(rowcol1$,i)
				rowcol1$=Mid$(rowcol1$,0,i-1)
				END IF
				num1&=instr(_arg1,"\")-1
				fun$=Mid$(_arg1,0,num1&)
				SendKeys "{Esc}="+fun$+"({"+rowcol1$+"}.{Ctrl+"+rowcol1$+"}){Enter}"
			}
		}

		COMMAND "<Location> of <Rows or Columns>" {
			SCRIPT {
				num1&=instr(_arg1,"\")-1
				location$=Mid$(_arg1,0,num1&)
				i=Instr(location$,"|")
				IF (_arg2="Left|Right\Row") THEN
				location$=Mid$(location$,0,i-1)
				ELSE
				location$=Mid$(location$,i)
				END IF
				SendKeys "{Ctrl+"+location$+"}"
			}
		}

		COMMAND "<Select or Fill> <2 to 20> <Rows or Columns>" {
			SCRIPT {
				num3&=instr(_arg3,"\")-1
				rowcol1$=Mid$(_arg3,0,num3&)
				i=instr(rowcol1$,"|")
				IF (i) THEN
				rowcol0$=Mid$(rowcol1$,i)
				rowcol1$=Mid$(rowcol1$,0,i-1)
				END IF
				IF (rowcol1$="Left" OR rowcol1$="Right") THEN
				nextpre$1="Down"
				ELSE
				nextpre1$="Right"
				END IF
				num1&=instr(_arg1,"\")-1
				selfill$=Mid$(_arg1,0,num1&)
				IF (selfill$="0") THEN
				SendKeys "{"+rowcol0$+"}{End}{"+rowcol1$+"}{End}{Shift+"+rowcol0$+"}{Shift+"+nextpre1$+" "+Str$(Val(_arg2)-1)+"}"
				ELSE
				SendKeys "{Shift+"+nextpre1$+" "+Str$(Val(_arg2)-1)+"}"+selfill$+"{Down}{Up}"
				END IF
			}
		}

		COMMAND "Print Page <1To99>" {
			SCRIPT {
				SendKeys "{Ctrl+p}{Alt+g}"+_arg1
			}
		}

		COMMAND "Print Pages <1To99> to <1To99>" {
			SCRIPT {
				SendKeys "{Ctrl+p}{Alt+g}"+_arg1+"{Tab}"+_arg2
			}
		}

		COMMAND "Select <Next or Previous> <2To20> <Rows or Columns>" {
			SCRIPT {
				num3&=instr(_arg3,"\")-1
				rowcol1$=Mid$(_arg3,0,num3&)
				i=instr(rowcol1$,"|")
				IF (i) THEN
				rowcol0$=Mid$(rowcol1$,i)
				rowcol1$=Mid$(rowcol1$,0,i-1)
				END IF
				num1&=instr(_arg1,"\")-1
				nextpre1$=Mid$(_arg1,0,num1&)
				i=Instr(nextpre1$,"|")
				IF (rowcol1$="Left" OR rowcol1$="Right") THEN
				nextpre1$=Mid$(nextpre1$,i)
				ELSE
				nextpre1$=Mid$(nextpre1$,0,i-1)
				END IF
				SendKeys "{"+rowcol0$+"}{End}{"+rowcol1$+"}{End}{Shift+"+rowcol0$+"}{Shift+"+nextpre1$+" "+Str$(Val(_arg2)-1)+"}"
			}
		}

		COMMAND "Select <1To99> by <1To99> Block" {
			SCRIPT {
				SendKeys "{Down}{Up}{Shift+Down "+Str$(Val(_arg1)-1)+"}{Shift+Right "+Str$(Val(_arg2)-1)+"}"
			}
		}

		LIST "Action" {
			"{Ctrl+x}\\Cut"
			"{Del}\\Delete"
			"{Ctrl+b}\\Bold"
			"{Ctrl+c}\\Copy"
			"{Ctrl+i}\\Italicize"
			"{Ctrl+i}\\Italics"
			"0\\Select"
			"{Alt+d}s{Enter}\\Sort"
			"{Ctrl+u}\\Underline"

		}

		LIST "Next or Previous" {
			"Left|Up\\Last"
			"Right|Down\\Next"
			"Left|Up\\Previous"

		}

		LIST "Rows or Columns" {
			"Up|Down\\Column"
			"Left|Right\\Row"

		}

		LIST "Function" {
			"AVERAGE\\Average"
			"COUNT\\Count"
			"SUM\\Sum"

		}

		LIST "Location" {
			"Left|Up\\Beginning"
			"Right|Down\\Bottom"
			"Left|Up\\Top"
			"Left|Up\\Start"
			"Right|Down\\End"
		}

		LIST "Select or Fill" {
			"{Alt+e}is{Alt+f}{Enter}\\Fill"
			"{Alt+e}is{Alt+l}{Enter}\\Increment"
			"0\\Select"

		}

		LIST "2To20" {
			"2"
			"3"
			"4"
			"5"
			"6"
			"7"
			"8"
			"9"
			"10"
			"11"
			"12"
			"13"
			"14"
			"15"
			"16"
			"17"
			"18"
			"19"
			"20"
		}

		LIST "1To99" {
			"1"
			"2"
			"3"
			"4"
			"5"
			"6"
			"7"
			"8"
			"9"
			"10"
			"11"
			"12"
			"13"
			"14"
			"15"
			"16"
			"17"
			"18"
			"19"
			"20"
			"21"
			"22"
			"23"
			"24"
			"25"
			"26"
			"27"
			"28"
			"29"
			"30"
			"31"
			"32"
			"33"
			"34"
			"35"
			"36"
			"37"
			"38"
			"39"
			"40"
			"41"
			"42"
			"43"
			"44"
			"45"
			"46"
			"47"
			"48"
			"49"
			"50"
			"51"
			"52"
			"53"
			"54"
			"55"
			"56"
			"57"
			"58"
			"59"
			"60"
			"61"
			"62"
			"63"
			"64"
			"65"
			"66"
			"67"
			"68"
			"69"
			"70"
			"71"
			"72"
			"73"
			"74"
			"75"
			"76"
			"77"
			"78"
			"79"
			"80"
			"81"
			"82"
			"83"
			"84"
			"85"
			"86"
			"87"
			"88"
			"89"
			"90"
			"91"
			"92"
			"93"
			"94"
			"95"
			"96"
			"97"
			"98"
			"99"
		}
	}
	STATE "Add Trendline" {
		COMMAND "Options" {
			KEYS {
				{Ctrl+Tab}o
			}
		}

		COMMAND "Type" {
			KEYS {
				{Ctrl+Tab}t
			}
		}
	}
	STATE "Advanced Search" {
		COMMAND "Location" {
			KEYS {
				{Alt+l}
			}
		}

		COMMAND "Special" {
			KEYS {
				{Alt+e}
			}
		}

		COMMAND "Summary" {
			KEYS {
				{Alt+s}
			}
		}

		COMMAND "Timestamp" {
			KEYS {
				{Alt+p}
			}
		}
	}
	STATE "Charts Options" {
		COMMAND "Axes" {
			KEYS {
				{Ctrl+Tab}a
			}
		}

		COMMAND "Data Labels" {
			KEYS {
				{Ctrl+Tab}td
			}
		}

		COMMAND "Data Table" {
			KEYS {
				{Ctrl+Tab}tdd
			}
		}

		COMMAND "Gridlines" {
			KEYS {
				{Ctrl+Tab}g
			}
		}

		COMMAND "Legend" {
			KEYS {
				{Ctrl+Tab}l
			}
		}

		COMMAND "Titles" {
			KEYS {
				{Ctrl+Tab}t
			}
		}
	}
	STATE "Chart Type" {
		COMMAND "Custom Types" {
			SCRIPT {
				SetMousePosition 5,120,20
				ButtonClick 1,1
			}
		}

		COMMAND "Standard Types" {
			SCRIPT {
				SetMousePosition 5,30,20
				ButtonClick 1,1
			}
		}

		COMMAND "Data Range" {
			SCRIPT {
				SetMousePosition 5,30,20
				ButtonClick 1,1
				SendKeys "{Tab}"
			}
		}

		COMMAND "Series" {
			SCRIPT {
				SetMousePosition 5,95,20
				ButtonClick 1,1
			}
		}
	}
	STATE "Customize" {
		COMMAND "Commands" {
			KEYS {
				{Alt+c}
			}
		}

		COMMAND "Keyboard" {
			KEYS {
				{Alt+k}
			}
		}

		COMMAND "Options" {
			KEYS {
				{Alt+o}
			}
		}

		COMMAND "Toolbars" {
			KEYS {
				{Alt+b}{Tab}
			}
		}
	}
	STATE "Format" {
		COMMAND "Alignment" {
			KEYS {
				{Ctrl+Tab}a
			}
		}

		COMMAND "Font" {
			KEYS {
				{Ctrl+Tab}f
			}
		}

		COMMAND "Number" {
			KEYS {
				{Ctrl+Tab}n
			}
		}

		COMMAND "Patterns" {
			KEYS {
				{Ctrl+Tab}p
			}
		}

		COMMAND "Scale" {
			KEYS {
				{Ctrl+Tab}s
			}
		}

		COMMAND "Border" {
			KEYS {
				{Ctrl+Tab}b
			}
		}

		COMMAND "Protection" {
			KEYS {
				{Ctrl+Tab}npp
			}
		}

		COMMAND "Axis" {
			KEYS {
				{Ctrl+Tab}a
			}
		}

		COMMAND "Data Labels" {
			KEYS {
				{Ctrl+Tab}d
			}
		}

		COMMAND "Options" {
			KEYS {
				{Ctrl+Tab}o
			}
		}

		COMMAND "Series Order" {
			KEYS {
				{Ctrl+Tab}s
			}
		}

		COMMAND "X Error Bars" {
			KEYS {
				{Ctrl+Tab}x
			}
		}

		COMMAND "Y Error Bars" {
			KEYS {
				{Ctrl+Tab}y
			}
		}

		COMMAND "Placement" {
			KEYS {
				{Ctrl+Tab}fp
			}
		}
	}
	STATE "Object" {
		COMMAND "Create from File" {
			KEYS {
				{Ctrl+Tab}{Right}{Shift+Tab}
			}
		}

		COMMAND "Create New" {
			KEYS {
				{Ctrl+Tab}{Right}{Ctrl+Tab}
			}
		}
	}
	STATE "Options" {
		COMMAND "Calculation" {
			KEYS {
				{Ctrl+Tab}vc
			}
		}

		COMMAND "Chart" {
			KEYS {
				{Ctrl+Tab}tcc
			}
		}

		COMMAND "Color" {
			KEYS {
				{Ctrl+Tab}tccc
			}
		}

		COMMAND "Custom Lists" {
			KEYS {
				{Ctrl+Tab}tc
			}
		}

		COMMAND "Edit" {
			KEYS {
				{Ctrl+Tab}e
			}
		}

		COMMAND "General" {
			KEYS {
				{Ctrl+Tab}g
			}
		}

		COMMAND "Transition" {
			KEYS {
				{Ctrl+Tab}t
			}
		}

		COMMAND "View" {
			KEYS {
				{Ctrl+Tab}v
			}
		}
	}
	STATE "Page Setup" {
		COMMAND "Header/Footer" {
			KEYS {
				{Ctrl+Tab}h
			}
		}

		COMMAND "Margins" {
			KEYS {
				{Ctrl+Tab}m
			}
		}

		COMMAND "Page" {
			KEYS {
				{Ctrl+Tab}p
			}
		}

		COMMAND "Sheet" {
			KEYS {
				{Ctrl+Tab}s
			}
		}
	}
	STATE "Share Workbook" {
		COMMAND "Advanced" {
			SCRIPT {
				SetMousePosition 5,100,20
				ButtonClick 1,1
			}
		}

		COMMAND "Editing" {
			SCRIPT {
				SetMousePosition 5,30,20
				ButtonClick 1,1
			}
		}
	}
	STATE "Source Data" {
		COMMAND "Data Range" {
			SCRIPT {
				SetMousePosition 5,30,20
				ButtonClick 1,1
				SendKeys "{Tab}"
			}
		}

		COMMAND "Series" {
			SCRIPT {
				SetMousePosition 5,95,20
				ButtonClick 1,1
			}
		}
	}
	STATE "Validation" {
		COMMAND "Error Alert" {
			SCRIPT {
				SetMousePosition 5,180,20
				ButtonClick 1,1
			}
		}

		COMMAND "Input Message" {
			SCRIPT {
				SetMousePosition 5,105,20
				ButtonClick 1,1
			}
		}

		COMMAND "Settings" {
			SCRIPT {
				SetMousePosition 5,30,20
				ButtonClick 1,1
			}
		}
	}
}