我有一個VBScript,檢查MS Word是否正在運行隱藏,使其可見,然後再次隱藏它。由任務計劃程序運行VBScript和批處理文件失敗
這裏是腳本代碼,當我雙擊在資源管理器中工作正常:
dim oWord
Dim wshShell, btn
Set wshShell = WScript.CreateObject("WScript.Shell")
set oWord = getobject(, "Word.Application")
if isobject(oWord) then
on error goto 0
wshShell.Popup "Word is running, making visible", 7, "ALPS Push print", &H0 + &H40
oWord.visible=true
wshShell.Popup "MS Word is now visible" & vbcrlf & vbcrlf & "Waiting 30 seconds then hiding it", 30, "ALPS Push print", &H0 + &H30
oWord.visible=false
else
wshShell.Popup "Word is not running" & vbcrlf & vbcrlf & "Quitting", 7, "ALPS Push print", &H0 + &H40
end if
它的工作原理髮現,當我運行它,但是當它在任務計劃程序運行失敗,所以我創作了一批文件來啓動它
wscript C:\dev\checkALPS.vbs
現在,當我試圖從任務計劃程序運行它,它仍然失敗,下面的錯誤消息
---------------------------
Windows Script Host
---------------------------
Script: C:\dev\checkALPS.bat
Line: 7
Char: 1
Error: ActiveX component can't create object: 'getobject'
Code: 800A01AD
Source: Microsoft VBScript runtime error
我能做些什麼才能使其工作?
您的任務是否以有限權限運行?你在64位操作系統上?如果是這樣,請確保您在任務/ bat中使用的WSCRIPT.EXE是您想要的(\ System32 for 64-bit或\ SysWOW64 for 32-bit)。 – Bond
適合我。我懷疑計劃任務的配置有問題。你在任務的安全選項中配置了什麼?該錯誤消息表明,在任務正在運行的用戶的上下文中沒有運行Word進程。 –
該任務設置爲在Admin帳戶下以最高權限運行。 Word實例由在同一個帳戶下運行的.NET應用程序創建。 –