Windows任务计划程序运行批处理文件,该文件调用运行宏的vbscript

时间:2015-10-08 20:37:08

标签: excel-vba batch-file vbscript scheduled-tasks vba

我有一个批处理文件,它首先运行一个vbscript来打开excel并运行一个宏。然后它链接2个其他批处理文件以完成该过程。如果我只是双击第一个批处理文件并让它运行,那么一切正常。

当我尝试创建一个Windows任务调度程序来运行第一个批处理文件时,它表示它已成功完成,但宏和其他两个批处理文件的结果不会被运行/输出。

第一批文件:

REM @ECHO OFF

cscript //nologo "C:\Program Files (x86)\salesforce.com\Data Loader\conf\SaveToCSV.vbs"


Call "C:\Program Files (x86)\salesforce.com\Data Loader\conf\SFDL2.bat"
Call "C:\Program Files (x86)\salesforce.com\Data Loader\conf\SFDL3.bat"
QUIT

.vbs文件:

Option Explicit

Dim xlApp, xlBook

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\Program Files (x86)\salesforce.com\Data Loader\conf\VendorManagementReport-Import2.xlsm", 0, True)
xlApp.Run "CopyToCSV"
xlBook.Close False
xlApp.Quit

Set xlBook = Nothing
Set xlApp = Nothing

WScript.Quit

我不认为其他2个批处理文件是相关的,因为它从未实际从.xlsm工作簿创建.csv文件,这是第一步。

1 个答案:

答案 0 :(得分:0)

尝试从第一个批处理文件中删除 Call ,以在同一个上下文中启动其他两个

REM @ECHO OFF

cscript //nologo "C:\Program Files (x86)\salesforce.com\Data Loader\conf\SaveToCSV.vbs"

"C:\Program Files (x86)\salesforce.com\Data Loader\conf\SFDL2.bat"
"C:\Program Files (x86)\salesforce.com\Data Loader\conf\SFDL3.bat"

QUIT