我需要一种方法来安排自动打开Excel文件,刷新内容然后保存并关闭它。
之前我已经完成了这个操作,但我无法再打开文件,因为打开它会导致刷新的宏然后保存并关闭要运行的文件。
在尝试了几种方法后我考虑了VBScript。我在这里找到了这段代码。
Dim objExcel, objWorkbook
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\...\Finances.xlsm")
objExcel.Visible = True
objExcel.Run "Refresh"
objExcel.Quit
Set objWorkbook = Nothing
Set objExcel = Nothing
WScript.Quit
VBScript代码打开Excel文件并触发内部的宏Refresh
。宏刷新数据,然后保存并关闭文件。
但是我发现以下错误,尽管代码似乎运行正常。
答案 0 :(得分:0)
如果您在打开工作簿时不希望自动运行任何内容,请将行
objExcel.EnableEvents = False
在打开工作簿之前。如果需要,您可以稍后将其设置回True
。您仍然可以运行Refresh
。这是否能解决你的未知错误,我不知道。
答案 1 :(得分:0)
您正在退出excel.application对象而未关闭objWorkbook
打开的工作簿。保存与否,这将导致从打开的工作簿中崩溃的错误。