我想通过VBScript保存并关闭我正在执行宏(Module:modBex,Sub:Test)的Excel文件。
以下代码工作正常,但Excel文件(macro_file.xlsm
)未保存。
这是我的代码:
Option Explicit
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\macro_file.xlsm", 0, True)
xlApp.Run "modBex.Test"
xlApp.DisplayAlerts = False
xlBook.Save
xlApp.Quit
Set xlApp = Nothing
Set xlAddin = Nothing
Set xlBook = Nothing
WScript.Quit
答案 0 :(得分:2)
更改行
Set xlBook = xlApp.Workbooks.Open("C:\macro_file.xlsm", 0, True)
到
Set xlBook = xlApp.Workbooks.Open("C:\macro_file.xlsm", 0, False)
因为我认为该标志将文件设置为只读,导致保存文档时出错。
除此之外,如果你保留任何和所有警报抑制(即.DisplayAlerts = False
),直到你知道你有工作代码,那么这样就更容易发现。