【问题标题】:Close Open Excel Instance关闭打开 Excel 实例
【发布时间】:2015-09-07 08:47:11
【问题描述】:

有人可以告诉我以下简单的 VBScript 是否正确吗? 它应该在其他进程运行后关闭 Excel(并使 Excel 保持打开状态),但它不起作用。

Set MyApp = CreateObject("Excel.Application")
MyApp.Quit

【问题讨论】:

  • 不起作用?您是否收到错误或未按预期运行?
  • 什么都不做......没有显示错误。
  • 所以您是在双击.VBS 文件?出于故障排除的目的,我通常将此代码放在外面:MsgBox "Start" 然后MsgBox "Complete" 至少告诉我脚本运行了。如果您在设置MyApp 后还添加MsgBox Myapp.Name,它也会告诉您一些信息。但真正的问题是您使用的是CreateObject,它只是实例化了一个新的excel。它没有得到现有的。
  • 添加本页底部,您将找到一些代码示例,该示例遍历每个进程并显示它。您应该能够更改脚本以仅查找 Excel 进程并添加更多代码来抓取和关闭它们(或杀死它们)。但是你真的应该找到离开孤立 excel 进程的错误代码并修复它
  • 感谢您的回复。我有一个运行 VBScript 的批处理文件,但在关闭文件后它没有关闭 Excel。

标签: vbscript excel.application


【解决方案1】:

请试试这个。

ThisWorkbook.Saved = True
Application.Quit

【讨论】:

    【解决方案2】:

    CreateObject 创建一个 COM 对象,所以你的

    Set MyApp = CreateObject("Excel.Application") 
    

    启动一个新的 Excel 进程。使用GetObject 来“检索具有指定 ProgID 的现有对象”。有关理论和实践,请参阅 this

    【讨论】:

      【解决方案3】:

      CreateObject 创建一个新对象。如果我正确理解您的问题,您希望附加到已经运行(孤立)的 Excel 进程以终止它们。你可以通过GetObject 做到这一点:

      On Error Resume Next
      Do
        Set xl = GetObject(, "Excel.Application")
        status = Err.Number
        If status = 0 Then
          For Each wb in xl.Workbooks
            wb.Close False  'discard changes in open workbooks
          Next
          xl.Quit
        ElseIf status <> 429 Then
          WScript.Echo Err.Number & ": " & Err.Description
          WScript.Quit 1
        End If
      Until status = 429
      On Error Goto 0
      

      请注意,这将尝试关闭所有正在运行的 Excel 实例,并丢弃打开的工作簿中的所有更改。如果您希望它保存打开的工作簿中的更改,请将 Close 方法的参数更改为 True。如果您有想要继续运行的 Excel 实例,则需要添加代码以防止它们被关闭。

      另请注意,这不会强制终止无响应的实例。您需要为此终止该进程:

      Set wmi = GetObject("winmgmts://root/cimv2")
      For Each xl In wmi.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'excel.exe'")
        xl.Terminate
      Next
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-10
        • 1970-01-01
        • 2019-08-07
        • 1970-01-01
        相关资源
        最近更新 更多