Vba 从任务计划程序运行excel宏

Vba 从任务计划程序运行excel宏,vba,vbscript,scheduled-tasks,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

我尝试使用任务调度器运行宏,它看起来像是执行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工作簿只读,但仍然不执行代码


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

我不确定您是否仍然面临这个问题,但我找到了自己的解决方案,因为我也遇到了同样的问题。它基于超级用户中的这一古老答案:

  • 打开组件服务(开始->运行,键入dcomcnfg)
  • 深入到组件服务->计算机->我的计算机,然后单击DCOM 配置
  • 右键单击Microsoft Excel应用程序并选择“属性”
  • 在“标识”选项卡中,选择此用户并输入交互式用户帐户(域或本地)的ID和密码,然后单击“确定”
  • 现在,我还需要做什么

  • 使用我在步骤4中配置的相同帐户配置计划任务。我尝试使用服务帐户,但失败了
  • 无论用户是否已登录,都要运行

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

    我不确定您是否仍然面临此问题,但我找到了自己的解决方案,因为我遇到了相同的问题。它基于超级用户中的这一古老答案:

  • 打开组件服务(开始->运行,键入dcomcnfg)
  • 深入到组件服务->计算机->我的计算机,然后单击DCOM 配置
  • 右键单击Microsoft Excel应用程序并选择“属性”
  • 在“标识”选项卡中,选择此用户并输入交互式用户帐户(域或本地)的ID和密码,然后单击“确定”
  • 现在,我还需要做什么

  • 使用我在步骤4中配置的相同帐户配置计划任务。我尝试使用服务帐户,但失败了
  • 无论用户是否已登录,都要运行

  • 在此之后,我可以正常运行它。

    在我的情况下,它在我选中任务设置中的“以管理权限运行”后开始工作。

    在我的情况下,它在我选中任务设置中的“以管理权限运行”后开始工作。

    您是否在用户登录下运行任务计划程序任务?运行时您是否登录?如果直接运行vbscript,它是否成功运行Excel宏?是和是。我把它设置为只在登录时运行。至于直接运行它,我无法让它找到文件,所以它不会尝试。我不知道如何在命令提示符下运行它,所以我确定这是我的错。你可以双击vbs文件。在涉及schedulerI之前,请先执行该操作,否则会出现找不到文件的错误。它是否可能被移动、重命名或删除。但我知道这是正确的路径。您是否在用户登录下运行任务计划程序任务?运行时您是否登录?如果直接运行vbscript,它是否成功运行Excel宏?是和是。我把它设置为只在登录时运行。至于直接运行它,我无法让它找到文件,所以它不会尝试。我不知道如何在命令提示符下运行它,所以我确定这是我的错。你可以双击vbs文件。在涉及schedulerI之前,请先执行该操作,否则会出现找不到文件的错误。它是否可能被移动、重命名或删除。但我知道这是正确的途径。