【发布时间】:2015-11-18 13:47:46
【问题描述】:
我有一个通过任务计划程序执行的脚本文件,该文件在 Windows 7 中运行良好,但在 Windows 10 中无法运行。
这里是sn-p的代码:
Dim myxlApplication, myWorkBook
Set myxlApplication = CreateObject("Excel.Application")
myxlApplication.Visible = False
Set myWorkBook = myxlApplication.Workbooks.Open( emlAttach )
myxlApplication.DisplayAlerts = False
myWorkBook.Application.Run "Main.Main"
myxlApplication.DisplayAlerts = True
myxlApplication.Quit
Set myxlApplication = Nothing
emlAttach 在脚本前面设置为绝对路径和带扩展名的文件名。
通过单击脚本文件执行此操作时,它可以完美运行。当它作为计划任务运行或强制从任务计划程序运行时,它会询问我想使用什么程序来打开文件。如果我选择 Excel,它会给我一个错误,告诉我该文件不存在。
该错误的文件扩展名是错误的,xlsx 与变量 xlsb 限定的内容相比。
【问题讨论】:
-
什么是命令行?您是明确使用
wscript.exe myscript.vbs还是让 .VBS 扩展名隐式记录开销可执行文件? (对于基于控制台的可执行文件,可能必须是 csript.exe) -
目前我只是将它直接指向
.vbs并期望它能够工作。我只是改用 cscript 并且效果很好。非常感谢你的帮助!如果您想将其写为正式答案,我可以将其标记为您已回答,或者我可以自己写,无论您喜欢哪个。 =) -
顺便说一下,我原来的方法,只指向vbs,在Win7中工作,但由于某种原因在Win10中不起作用。我不确定发生了什么变化。
-
Win7 机器可能有与 CSCRIPT 而不是 WSCRIPT 的 VBS 文件关联。或者可能 Win7 处理窗口输出的方式与 Win10 不同,并且不需要控制台版本;抱歉,我知道的不够准确。
标签: vbscript scheduled-tasks windows-10 excel.application