【问题标题】:bat file to open excel run macro close excelbat文件打开excel运行宏关闭excel
【发布时间】:2013-01-15 15:25:15
【问题描述】:

问题:我需要打开一个 excel 文档,运行宏,以特定名称 (XXXX_YYYYMMDD) 保存文档,关闭 excel 文档。

解决方案 1: 我想我可以使用 .bat 文件打开 excel,运行宏,保存并重命名文件。

解决方案1的问题: a)我不知道如何将文件的路径作为参数传递。 b) 我确实知道如何用脚本语言为 .bat 编写流程

解决方案 2: 我想我可以使用 .bat 文件打开 excel,并创建一个宏,一旦 excel 打开它就会运行并重命名 excel 并关闭它。

解决方案1的问题: a) 我不知道如何将文件的路径作为参数传递。

PS:全新的 .bat 编码

欢迎其他建议

非常感谢您的帮助

【问题讨论】:

    标签: excel batch-file


    【解决方案1】:

    要回答您的第一个问题,您可以通过使用将文件名作为参数传递

    batfile.bat yourexcelfile.xls
    

    并使用%1从批处理文件中访问它。

    但是,我不知道如何做其他宏的事情,但如果你发现你可以用它来把它放在一起! :)

    【讨论】:

      【解决方案2】:

      我不确定 BAt-Files 是否可以做到这一点,但我认为 powersheel 脚本可以做到这一点.... 如果这不是一个选项,您可以尝试将宏添加到文件的启动中 - 这样它就会在文件打开时运行...

      【讨论】:

        【解决方案3】:

        您可以尝试使用混合 bat/jscript 文件:

            rem ("open macro")/*
            @echo off
            call cscript //nologo //E:jscript excelfile.xsls
            goto :eof
        
            */
             var objExcel = new ActiveXObject ("Excel.Application"); 
             objExcel.Application.Run(""+WScript.Arguments.Item(0)+!mymacro"); 
            rem (){}
        

        如果宏嵌入在工作表中,您需要创建工作表对象并通过它访问。

        【讨论】: