从任务计划程序运行Excel宏

时间:2019-09-27 17:35:02

标签: vba vbscript scheduled-tasks

我正在尝试使用任务计划程序运行宏,看起来它执行了VBScript文件,但实际上并未执行宏中的任何代码。

工作簿的途径是 C:\ Users \ cdurrell \ Desktop \ Test Auto 1.xlsm

该宏称为TestAuto

脚本文件具有路径 C:\ Users \ cdurrell \ Desktop \ TestAutoScript.txt

我最初使用的是以下脚本文件

'Write Excel.xls  Sheet's full path here
strPath = "C:\Users\cdurrell\Desktop\Test Auto 1.xlsm" 

'Write the macro name - could try including module name
strMacro = "Update" '    "Sheet1.TestAuto" 

'Create an Excel instance and set visibility of the instance
Set objApp = CreateObject("Excel.Application") 
objApp.Visible = True   '   or False 

'Open workbook; Run Macro; Save Workbook with changes; Close; Quit Excel
Set wbToRun = objApp.Workbooks.Open(strPath) 
objApp.Run strMacro     '   wbToRun.Name & "!" & strMacro 
wbToRun.Save 
wbToRun.Close 
objApp.Quit 

'Leaves an onscreen message!
MsgBox strPath & " " & strMacro & " macro and .vbs successfully completed!",         vbInformation 

'

,它将使excel工作簿为只读,而不执行宏中的代码。

然后我拔出了线

wbToRun.Save 

,现在它不会使excel工作簿成为只读的,但它仍然不执行代码。

欢迎任何指针或更正!谢谢!

2 个答案:

答案 0 :(得分:0)

我不确定您是否仍然遇到此问题,但是由于遇到了同样的麻烦,我找到了自己的解决方案。它基于 squillman 超级用户中的旧答案:

https://superuser.com/a/579901

  1. 打开组件服务(开始->运行,输入dcomcnfg)
  2. 深入到“组件服务”->“计算机”->“我的电脑”,然后单击“ DCOM” 配置
  3. 右键单击Microsoft Excel Application,然后选择“属性”
  4. 在“身份”选项卡中,选择“此用户”,然后输入交互式用户帐户(域或本地)的ID和密码,然后单击“确定”

现在,我还需要做什么?

  1. 使用在步骤4中配置的相同帐户配置计划任务。我尝试使用服务帐户但失败。
  2. 运行是否登录用户。

在此之后,我能够正常运行它。

答案 1 :(得分:0)

就我而言,一旦我在任务设置中选中“以管理权限运行”,它就开始工作了。