使用VBScript自动化应用程序

时间:2009-12-29 15:24:17

标签: vbscript

我是VB Scripting的新手。 我希望VB脚本根据应用程序的事件进行操作。 例如:VBScript应该等到应用程序中出现弹出消息。

3 个答案:

答案 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