如果Excel已经运行,MSAccess VBA代码将不会打开Excel工作表

当我通过下面的VBA代码打开Excel中的MS Access:

Set objApp = GetObject(, "Excel.Application") Set objApp = CreateObject("Excel.Application") objApp.Visible = True Set wb = objApp.Workbooks.Open("\\bk00sql0002\D_Root\Pre-Manufacturing\Excel\CommitmentLetter.xls", True, False) 

如果Excel应用程序已经运行,它将不会打开。 我需要先closures已经运行的Excel应用程序,然后运行上面的代码,它将打开Excel。

即使它已经在运行,我如何才能打开Excel? 谢谢!

像这样的东西:

 On Error Resume Next Set objApp = GetObject(, "Excel.Application") Do While Not objApp Is Nothing objApp.Quit Set objApp = GetObject(, "Excel.Application") Loop On Error GoTo 0 Set objApp = CreateObject("Excel.Application") 

当Excel不会退出时,您可能还需要处理这种情况。


UPDATE

要使用现有的运行实例(而不是杀死它):

 On Error Resume Next Set objApp = GetObject(, "Excel.Application") On Error GoTo 0 If objApp Is Nothing Then Set objApp = CreateObject("Excel.Application") End if