我是VB Scripting的新手。 我希望VB脚本根据应用程序的事件进行操作。 例如:VBScript应该等到应用程序中出现弹出消息。
答案 0 :(得分:2)
VBScript和Windows Script Host仅支持原始GUI自动化,如激活窗口(AppActivate
方法)和发送击键(SendKeys
方法)。所以我怀疑你的任务可以用纯VBScript完成。
但是,有一个名为AutoIt的免费GUI自动化工具应该能够满足您的需求。
答案 1 :(得分:0)
根据应用程序的不同,对象模型可用于自动执行大多数功能。我经常使用Excel对象模型自动化Excel。以下是MSDN文档的链接:
http://msdn.microsoft.com/en-us/library/aa209782%28office.10%29.aspx
我通常会尽可能关闭弹出菜单,以防止它们导致脚本处理意外事件。这是一个例子:
'Create an new instance of Excel to work with
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open("C:\Test.xls")
Set objSheet = objStartsBook.Sheets(1)
'Make Excel visible on the screen for the user
objExcel.Visible = True
'Turn off pop up dialog boxes from excel so the script can control the app
objExcel.DisplayAlerts = False
从这里开始,我将继续使用Excel的对象模型让应用程序执行我需要的任何任务。
诀窍在于考虑完成所需任务所需的成员和方法,以及人与GUI交互的方式。
答案 2 :(得分:0)
如果您只想关闭弹出窗口,这可能会对您有所帮助:
Set oShell = CreateObject("WScript.Shell")
Do
bResult = oShell.AppActivate("Title of the dialog box")
If bResult = True Then
oShell.SendKeys "%N" ' Alt+N, you may send {Esc} or {Enter} if you want
Exit Do
End If
WScript.Sleep 500
Loop