2009-09-10 146 views
0

使用Access VBA,我想打開一個XL文件,做些東西,然後關閉它,而不關閉其他打開的XL文件。選項1:如果最後一行是「ObjXL.Application.Quit」,則關閉所有打開的Excel文件,而不僅僅是當前文件。選項2:如果最後一行是「ObjXL.Close」,則工作簿關閉,但XL的特定實例保持打開狀態(即沒有工作簿的Excel)。使用VBA時,如何在不關閉所有工作簿的情況下關閉Excel工作簿?

那麼,如何關閉Excel工作簿而不關閉其他打開的工作簿?

Sub x() 
    Dim ObjXL As Excel.Workbook 
    Set ObjXL = GetObject("C:\Reports\Adhoc Default.xls") 
    ObjXL.Application.Visible = True 
    ObjXL.Windows(1).Visible = True 
    ObjXL.Worksheets(1).Activate 
    DoStuff() 
    ObjXL.Save 
    Option1/2/3? 
End Sub 

回答

4

嘿,我回答我自己的問題之前,任何人:

Sub xx() 
    Dim XLapp As New Excel.Application 
    Dim ObjXL As Excel.Workbook 
    Set ObjXL = XLapp.Workbooks.Open("C:\reports\adhoc default.xls") 
    ObjXL.Application.Visible = True 
    ObjXL.Windows(1).Visible = True 
    ObjXL.Worksheets(1).Activate 
    ObjXL.Save 
    ObjXL.Close 
    XLapp.Quit 
End Sub 
相關問題