0

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

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

4

2 回答 2

0

您正在退出对象而不关闭objWorkbook打开的工作簿。保存与否,这将生成一个从打开的工作簿中崩溃的错误。

于 2016-01-16T20:22:05.117 回答
0

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

objExcel.EnableEvents = False

在打开工作簿之前。True如果需要,您可以将其设置回以后。你应该仍然可以运行Refresh。我不知道这是否会解决您的未知错误。

于 2016-01-14T18:25:41.083 回答