我试图从* .vbs文件运行一个宏 . 你可以在下面找到代码 . 该模块运行没有问题(已经过测试) . 但是工作簿没有保存 . 我尝试将 ThisWorkbook.Save
添加到模块本身但它会导致错误并告诉我我的文件是ReadOnly . 为了澄清,我想知道如何在通过VBScript运行宏之后保存工作簿 .
Option Explicit
'On Error Resume Next 'Comment-out for debugging
ExcelMacro
Sub ExcelMacro()
Dim xlApp
Dim xlBook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("\\internal.company.com\River_Automated.xlsm", 0, True)
xlApp.Run "Update"
xlBook.Save
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
一些可能有用的旁注:
运行VBScript后,我收到以下消息:
Resume.xlsw已经存在 . 你想替换它吗?
我添加了在 End Sub
之前创建文本文件的行,并创建了它 . 因此,它运行宏但不保存工作簿 .
1 回答
这一行:
导致文件在
ReadOnly
模式下打开 . Open method的第三个参数确定是否在ReadOnly
模式下打开文件,如果True
,或者False
.解决方案是通过以下方式打开
ReadOnly = False
中的文件:或者,要检查文件是否为
ReadOnly
,如果是,请将其另存为其他内容 .