【问题标题】:VBA Run-time Error: 249 - Only occurs when SchtasksVBA 运行时错误:249 - 仅在 Schtasks 时发生
【发布时间】:2014-01-17 01:31:17
【问题描述】:

编辑:原来只有在 Outlook 实例已经运行时才会出现此错误。

这是一个奇怪的错误。我设置了一个宏,每天早上下载报告后自动执行。

宏由这个 VBS 代码执行:

Dim xl
Set xl = CreateObject("Excel.Application")

Dim WshShell, strCurDir
Set WshShell = CreateObject("WScript.Shell")
strCurDir    = WshShell.CurrentDirectory

xl.Application.Workbooks.Open(strCurDir & "\TodaysScript.xlsm")
xl.Application.Visible = False
xl.Application.run "'TodaysScript.xlsm'!autoOpen"

xl.DisplayAlerts = False
xl.Quit

Set xl = Nothing
Set WshShell = Nothing

autoOpen 是我正在运行的宏的名称(我故意避免使用Auto_Open

当我运行脚本时,一切都很有趣,但是当脚本通过schtasks 执行时,它会返回这个错误:

调试的时候显示在这里:

我读了很多,知识库文章没有帮助。

如果我双击我的VBS并正常执行它会如何工作,但我通过schtasks执行它的那一刻会出现错误。

这里是 schtask 查询

schtasks /create /tn "Reports" /tr %file% /sc weekly /st 10:00:00 /d MON,TUE,WED,THU,FRI /V1

我还可以补充一下:这是昨天工作的,但现在它在我的电脑和大学的电脑上都停止工作了。

【问题讨论】:

  • 这可能是权限问题吗?不完全属于这些语言的领域,但我编写了要由 SQL Server 代理作业执行的批处理文件,如果我只是双击 .bat 文件,它运行良好,但是当实际作业运行它时,它为运行任务的帐户提供权限错误。
  • 我也是这么想的。如何以编程方式更改执行 VBA 的用户?
  • 我也认为这是一个权限问题。给schtasks管理员权限来执行脚本就OK了。
  • schtasks 中使用的帐户是否在域中具有有效的电子邮件帐户?我尝试使用没有关联电子邮件的帐户运行 vbs,它会打开 Outlook 帐户设置向导。您是否有用于自动化的帐户(或用于 IT 目的的备用电子邮件启用帐户)?
  • 是的,它确实有一个有效的电子邮件帐户。这很奇怪,因为它昨天还在工作,尽管我们所在的网络具有可能会改变某些环境因素的推送政策。

标签: vba excel


【解决方案1】:

正如您问题的 cmets 中所述,如果是权限问题,您可以更改运行命令时运行的用户,这是语法

schtasks /Create 
[/S system [/U username [/P [password]]]]
[/RU username [/RP [password]] /SC schedule [/MO modifier] [/D day]
[/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
[/RI interval] [ {/ET endtime | /DU duration} [/K] 
[/XML xmlfile] [/V1]] [/SD startdate] [/ED enddate] [/IT] [/Z] [/F]

来源:http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357(v=vs.85).aspx

【讨论】:

  • 如果我想以管理员身份运行它,我会使用/S localhost /U administrator - 我希望这个脚本可以移植到任何计算机上,如何让它提示输入密码?
  • 根据参数说明,省略密码会自动提示。 /P [password] 为给定用户上下文指定密码的值。如果省略,Schtasks.exe 会提示用户输入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
  • 2018-12-23
  • 2016-03-25
相关资源
最近更新 更多