【问题标题】:Closing the instance of that workbook excel?关闭该工作簿excel的实例?
【发布时间】:2016-05-16 13:08:52
【问题描述】:

我打开了两个 excel 文件实例。我想关闭其中一个实例,这样当我进入任务管理器时,就不会看到进程中运行的 EXCEL.exe 的踪迹。我正在从用户窗体打开两个 excel。我在 excel 文件中有一个按钮可以关闭 excel 工作簿,

=== this is vb.net
public sub openExcel()
        my code.... blah blah blah....
        'open excel
        Dim xlsApp As Excel.Application
        Dim xlsWB As Excel.Workbook
        xlsApp = New Excel.Application
        xlsApp.Visible = True
        xlsWB = xlsApp.Workbooks.Open(c:\myExcelFile.xlsm")
end sub


======= this is vba
ThisWorkbook.Save
Application.DisplayAlerts = True
Application.Quit

关闭其中一个文件后,我仍然得到 EXCEL.exe。

【问题讨论】:

  • 你为什么要打开第二个实例?通常最好掌握活动工作簿,例如stackoverflow.com/questions/34958089/….
  • 如何在一个实例中同时打开两个文件?我同时打开两个。
  • 我发现Application.Quit 对 Excel 对象非常不满意。无论出于何种原因,我能够让它们终止的唯一方法是识别进程 ID,并在我完成后终止它。

标签: vb.net vba


【解决方案1】:

如果你这样做:

xlsWB = xlsApp.Workbooks.Open(c:\myExcelFile1.xlsm")
xlsWB = xlsApp.Workbooks.Open(c:\myExcelFile2.xlsm")

它应该只打开 1 个 Excel 实例(如任务管理器中所示)。

如果你这样做 - 它将打开 2 个实例。所以基本上只需跟踪第一个实例并重用它。

xlsApp1 = New Excel.Application   
xlsApp2 = New Excel.Application

【讨论】:

    【解决方案2】:

    希望这会有所帮助:

    '-----如果您想关闭原来打开的工作簿。

    === 这是 vb.net

    public sub openExcel()
    
            Dim NameW As String 
            NameW = ThisWorkbook.name  ' get the name of the opened workbook
    
            my code.... blah blah blah....
            'open excel
            Dim xlsApp As Excel.Application
            Dim xlsWB As Excel.Workbook
            xlsApp = New Excel.Application
            xlsApp.Visible = True
            xlsWB = xlsApp.Workbooks.Open(c:\myExcelFile.xlsm")
    
            Workbooks(NameW).Close ' close the workbook
    
    
    end sub
    
    
    ======= this is vba
    ThisWorkbook.Save
    Application.DisplayAlerts = True
    Application.Quit
    

    如果您的活动工作簿是您想要关闭的工作簿,您可以使用:

    ActiveWorkbook.Close
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2014-08-25
      相关资源
      最近更新 更多