任务中断:Microsoft Windows 2012R2,任务计划程序,Excel 2013 VBScript

任务中断: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

我正在尝试将一些Excel自动化任务任务计划程序从旧的Win2003服务器移动到新的Windows 2012 R2服务器

当我第一次创建任务时,我可以让它工作,但是如果我更改了任何内容,它就会停止工作,我不知道为什么,或者如何阻止它更改。有什么想法吗?另请参见下面我的第二个观察

下面是发生的情况 我创建了如下所示的初始任务,它工作正常,但如果我更改脚本运行的用户,它将失败,并出现错误:

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\