使用Workbook.Close方法时,工作簿未关闭

时间:2015-04-02 06:28:42

标签: excel excel-vba vba

我试图打开然后关闭工作簿但我的问题是在使用Workbook.close方法之后,工作簿仍保持打开状态,只能被任务管理器杀死。 我从以下链接VBA won't close workbooks opened programatically找到答案 但对于我的应用程序,它不起作用...... 代码如下:

Private Function writeInWB(myFile as String) As Variant
    Dim xl0 As New Excel.Application
    Dim xlwBBGTerm As New Excel.Workbook 
    Application.ScreenUpdating = False
    Set xlwBBGTerm = xl0.Workbooks.Open(myFile)
    GoTo ErrorHandling
ErrorHandling:
Application.ScreenUpdating = True
If xl0.Workbooks.Count > 0 Then
    xlwBBGTerm.Close SaveChanges:=False
    xl0.Quit
End If
End Function

1 个答案:

答案 0 :(得分:0)

如果没有更详细地了解您正在尝试做什么,则很难更具体,但是如果您关闭所有打开的工作簿然后退出应用程序,它应该关闭。尝试这样的事情:

Public Sub CloseAllWorkbooks()

    Dim wbk As Workbook
    For Each wbk In Application.Workbooks
        wbk.Close False
    Next

    Application.Quit

End Sub

应用程序可能无法关闭的另一个原因是,另一个进程仍然保留对应用程序内对象的COM引用。