运行宏时出现未知的运行时错误

时间:2016-01-14 18:11:54

标签: excel-vba vbscript excel.application vba excel

我需要一种方法来安排自动打开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。宏刷新数据,然后保存并关闭文件。

但是我发现以下错误,尽管代码似乎运行正常。

"Unknown Runtime Error" in line 5

2 个答案:

答案 0 :(得分:0)

如果您在打开工作簿时不希望自动运行任何内容,请将行

objExcel.EnableEvents = False
在打开工作簿之前

。如果需要,您可以稍后将其设置回True。您仍然可以运行Refresh。这是否能解决你的未知错误,我不知道。

答案 1 :(得分:0)

您正在退出对象而未关闭objWorkbook打开的工作簿。保存与否,这将导致从打开的工作簿中崩溃的错误。