以計算器為例,下面的腳本是鍵盤輸入“1+1=”,然后關閉計算器。
Sub Main
Dim Result As Integer
StartApplication "C:\WINNT\system32\calc.exe"
Window SetContext, "Caption=計算器", ""
InputKeys "1{+}1{ENTER}"
Window CloseWin, "", ""
End Sub
Robot提供了獲取對象識別方法和屬性的利器――Inspector。通過Robot tools-Inspector..打開,F在使用SQAGetProperty命令獲取1+1的結果值,并通過msgbox顯示該值。
鼠標左鍵按住Inspectot工具欄上的“Select Objcet”按鈕,然后選擇計算器的結果放開鼠標左鍵。Inspectot中顯示出對象的識別方法,鼠標左鍵點擊工具欄上的“Copy recognition String”按鈕拷貝識別方法,屬性值通過選擇Inspector左下角窗口中的Text屬性,然后鼠標左鍵點擊工具欄上的“Copy”按鈕拷貝屬性。修改后的腳本如下:
Sub Main
Dim Result As Integer
Dim sum as Variant
StartApplication "C:\WINNT\system32\calc.exe"
Window SetContext, "Caption=計算器", ""
InputKeys "1{+}1{ENTER}"
Result = SQAGetProperty ("Type=Label;ObjectIndex=1", "Text", sum)
msgbox sum
Window CloseWin, "", ""
End Sub
VU腳本是類C語言,區分大小寫。所以在獲取識別方法和屬性值時最好的方法就是使用Inspector。
自己編寫腳本時,還有一個要注意的問題是窗口上下文,窗口上下文不正確會導致回放時找不到對象。上面的腳本中Window SetContext, "Caption=計算器", ""下面的操作都是在這個窗口上進行的。編寫腳本時一定注意看一下窗口上下文是否正確。
也可以在識別方法中指定窗口上下文,如Result = SQAGetProperty ("Type=Label;ObjectIndex=1", "Text", sum)可以改成Result = SQAGetProperty ("\;Type=Window;Caption=計算器;\;Type=Label;ObjectIndex=1", "Text", sum),第一個“\”代表桌面,“Type=Window;Caption=計算器”是計算器窗口,第二個“\”代表“Type=Window;Caption=計算器”和“Type=Label;ObjectIndex=1”是父子關系。這兩個命令的效果完全一樣。