【问题标题】:Unknown runtime error when running macro运行宏时出现未知的运行时错误
【发布时间】:2016-04-20 04:52:25
【问题描述】:

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

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

【问题讨论】:

  • Excel 宏“刷新”是否可能有一行代码可以关闭 Excel 工作簿?如果是这样,那么您的 VBS 会收到运行时错误,因为它正在等待 objExcel.Run "Refresh" 完成,这反过来又关闭了 Excel 工作簿
  • 你需要显示宏代码。

标签: excel vbscript excel.application vba


【解决方案1】:

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

objExcel.EnableEvents = False

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

【讨论】:

    【解决方案2】:

    您正在退出 对象,而没有关闭 objWorkbook 打开的工作簿。无论是否保存,这都会导致打开的工作簿崩溃。

    【讨论】:

      猜你喜欢
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2012-01-06
      • 2011-04-16
      • 2012-12-09
      • 2021-10-04
      • 1970-01-01
      相关资源
      最近更新 更多