Batch file 任务计划程序运行VBScript和批处理文件时失败
我有一个VBScript,它检查MS Word是否正在隐藏运行,使其可见,然后再次隐藏 以下是在资源管理器中双击文件时运行良好的脚本代码:Batch file 任务计划程序运行VBScript和批处理文件时失败,batch-file,vbscript,scheduled-tasks,wsh,windows-scripting,Batch File,Vbscript,Scheduled Tasks,Wsh,Windows Scripting,我有一个VBScript,它检查MS Word是否正在隐藏运行,使其可见,然后再次隐藏 以下是在资源管理器中双击文件时运行良好的脚本代码: dim oWord Dim wshShell, btn Set wshShell = WScript.CreateObject("WScript.Shell") set oWord = getobject(, "Word.Application") if isobject(oWord) then on error goto 0 wshS
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
如何才能使其正常工作?我遇到过类似的问题,我绕过了它,使用cscript.exe应用程序将vbscript作为控制台应用程序而不是windows应用程序激活。域或计算机上可能存在不允许通过wscript执行windows应用程序的限制。或者,尝试通过“Cscript.exe”激活相同的脚本 因此,代码应该是:
cscript C:\dev\checkALPS.vbs
并且get object方法不会在WSScript可执行文件之外激活。因此,您需要通过wscript激活它
dim oWord
Dim wshShell, btn
Set wshShell = WScript.CreateObject("WScript.Shell")
set oWord = Wscript.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
挥动一下,让我知道它是怎么工作的 您的任务是否以受限权限运行?您是否使用64位操作系统?如果是,请确保您在任务/bat中使用的WSCRIPT.EXE是您想要的(\System32代表64位或\SysWOW64代表32位)。适用于我。我怀疑计划任务的配置有问题。您在任务的安全选项中配置了什么?错误消息表明,任务作为用户运行的上下文中没有运行Word进程。该任务被设置为以最高权限在Admin帐户下运行。Word实例是由在同一帐户下运行的.NET应用程序创建的。如何使其在没有窗口的情况下运行?@oO。查看该部分。特别是在“本地执行脚本”下。