【问题标题】:Windows Task Scheduler to Run batch file that calls vbscript that runs a macroWindows 任务计划程序运行调用运行宏的 vbscript 的批处理文件
【发布时间】:2015-10-08 20:37:07
【问题描述】:

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

当我尝试创建一个 Windows 任务计划程序来运行第一个批处理文件时,它说它已成功完成,但宏和其他 2 个批处理文件的结果没有运行/输出。

第一个批处理文件:

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 文件,这是第一步。

【问题讨论】:

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


    【解决方案1】:

    尝试从第一个批处理文件中删除 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
    

    【讨论】:

    • 没有改变任何东西。仍然说它运行成功,但实际上什么也没发生。这 2 个其他批处理文件取决于 .csv 文件是否可用。 .vbs 部分没有从宏创建 csv 文件,这意味着其他 2 个批处理文件不会做任何事情。
    猜你喜欢
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    相关资源
    最近更新 更多