我有一个小的 VBS 脚本,希望每天运行一次。
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
objExcelApp.DisplayAlerts = False
sFilePathXlsm = "C:\Users\$$$$\Desktop\test.xlsm"
Set iWb = objExcelApp.Workbooks.Open(sFilePathXlsm)
sMacroToRun = "'" & sFilePathXlsm & "'!helloworld"
objExcelApp.Run sMacroToRun
iWb.Save
iWb.Close
objExcelApp.DisplayAlerts = True
objExcelApp.Quit
在 Windows 任务计划程序中,我将其用于程序/脚本:
"C:\Windows\System32\cscript.exe"
这是添加参数:
"C:\Users\$$$$\Desktop\script.vbs"
当我使用“仅在用户登录时运行”来运行此脚本时,它工作正常。但如果我选择“无论用户是否登录都运行”,则什么也不会发生,并且脚本不会运行。
此脚本将被放入虚拟机中,因此用户可能已登录或未登录(不知道)。所以我需要保证此脚本将在有用户登录和无用户登录的情况下自行运行。
答案1
您正在调用 Excel,它是一个交互式应用程序。
当您选择“无论用户是否登录都运行”时,这只能作为不需要桌面的非交互式任务运行。