VB.Net关闭工作簿而不关闭所有其他Open工作簿

时间:2014-03-06 16:00:16

标签: vb.net excel

任务如下:

  1. 我想从VB.NET GUI打开一个Excel文档,称之为wb1
  2. 然后,我将使用VB.NET GUI从wb1调用VBA宏
  3. VBA宏生成另一个工作簿wb2
  4. 我想关闭wb1(不保存),但保持打开wb2
  5. 第四步是我遇到的麻烦。我可以调用xlWb.close(),但这将关闭所有工作簿。

    到目前为止我所拥有的:

    Dim xlApp as new Excel.application
    Dim xlWb as Excel.workbook = xlApp.Workbooks.Open("File Path") 'this will open wb1
    xlApp.Run("Wb1 Macro") 'this creates wb2
    
    xlWb.close() 
    xlApp.quit()
    

    如何指定我想通过VB.net关闭哪个工作簿?

1 个答案:

答案 0 :(得分:3)

似乎问题出在这一行:

xlApp.quit()

这将关闭Excel实例,因此关闭所有打开的工作簿(包括宏打开的工作簿)