任务中断:Microsoft Windows 2012R2,任务计划程序,Excel 2013 VBScript
我正在尝试将一些Excel自动化任务任务计划程序从旧的Win2003服务器移动到新的Windows 2012 R2服务器 当我第一次创建任务时,我可以让它工作,但是如果我更改了任何内容,它就会停止工作,我不知道为什么,或者如何阻止它更改。有什么想法吗?另请参见下面我的第二个观察 下面是发生的情况 我创建了如下所示的初始任务,它工作正常,但如果我更改脚本运行的用户,它将失败,并出现错误:任务中断:Microsoft Windows 2012R2,任务计划程序,Excel 2013 VBScript,excel,vbscript,scheduled-tasks,office-automation,windows-server-2012-r2,Excel,Vbscript,Scheduled Tasks,Office Automation,Windows Server 2012 R2,我正在尝试将一些Excel自动化任务任务计划程序从旧的Win2003服务器移动到新的Windows 2012 R2服务器 当我第一次创建任务时,我可以让它工作,但是如果我更改了任何内容,它就会停止工作,我不知道为什么,或者如何阻止它更改。有什么想法吗?另请参见下面我的第二个观察 下面是发生的情况 我创建了如下所示的初始任务,它工作正常,但如果我更改脚本运行的用户,它将失败,并出现错误: Cannot run the macro 'Build'. The macro may not be avai
Cannot run the macro 'Build'. The macro may not be available in this workbook or all macros may be disabled.
将任务更改为以原始工作用户身份运行不会修复它。我在重新运行任务时遇到相同的错误,必须删除/重新创建该任务才能使其再次运行
文件/任务详细信息
D:\ApplicationDir\run.wsf简化
<job id="1">
<script language="VBScript">
On Error Resume Next
Dim excel
Dim SourceFile
Set excel = CreateObject("Excel.Application")
SourceFile = "D:\ApplicationDir\File.xlsm"
excel.Workbooks.Open SourceFile
excel.Run "Build"
excel.Workbooks.Close
If Err <> 0 Then
... write Err.Description to file ...
End If
Set excel = Nothing
</script>
</job>
另一个观察结果
如果我选择任何其他配置:选项,我将无法同时选择Windows Server 2003、Windows XP或Windows 2000。当我返回编辑任务属性时,该选项就不存在了。知道为什么会这样吗
提前感谢。我认为Excel的宏安全性是在用户级别完成的。您可能希望以其凭据将用于计划任务的用户身份登录,然后启动Excel并进入信任中心->宏部分,并将其设置为启用所有宏。可能不是解决方案,但这至少是我们可以检查的一件事。任务以创建它的同一用户的身份运行,我已启用所有宏并将D:\ApplicationDir添加到受信任的位置。当从命令行cscript run.wsf运行时,无论系统上的哪个用户运行它,它都会100%工作。当从任务调度器运行时,我们有3个人,它只在初始配置下运行良好。如果我更改了任何内容,它就会停止工作,即使在我更改了用户之后,它仍然会给出上面的错误。
- Runs as a user Account
- Run whether user is logged on or not
- Run with highest privileges
- Configure For: Windows Server 2003, Windows XP or Windows 2000
Triggers:
- Daily At 6:15 AM every day
Actions:
- Start a Program:
- Program: C:\Windows\System32\cscript.exe
- Arguments: run.wsf
- Start In: D:\Application_Dir\