我有一個簡單的問題(我認爲)。比方說,我在第一冊的標準模塊中設置一個全局變量,以開放的(不同的)工作簿:已關閉工作簿後設置爲工作簿的變量的狀態
Public Sub InitGlobals()
Set gwkb = Workbooks("book2.xlsx")
End Sub
現在我手動關閉book2.xlsx。 gwkb
的狀態如何?這是我所得到的,當我在即時窗口中運行各種測試:
?gwkb is nothing
False
?isempty(gwkb)
False
?isnull(gwkb)
False
但是,如果我問的gwkb
任何財產,如gwkb.Name
,我得到一個自動化錯誤。
我的問題是:有沒有辦法測試這種情況,而不訴諸某種「On Error Resume Next
」測試?
感謝您的幫助。
下[文章](http://stackoverflow.com/a/9373914/ 2521004)是測試工作簿是否仍然打開的好方法。 –
可能的重複[檢測Excel工作簿是否已經打開(使用VBA)](http://stackoverflow.com/questions/9373082/detect-whether-excel-workbook-is-already-open-using-vba) –
@ Gary's Student&PortlandRunner - 感謝您的快速響應,但我並不想測試book2.xlsx是否開放。我想知道使用gwkb是否仍然「安全」。例如,在我的應用程序中,我不會知道gwkb設置的確切文件名,但如果我嘗試使用gwkb.Name,則會出現錯誤。我猜想我想知道是否在VBA中可能存在gwkb的狀態/測試,超出了「is nothing」,「isNull」或「isEmpty」以確定它是否仍然可以用作對象。也許我唯一的選擇是編寫一個像「bIsOK(gwkb)」這樣的函數來檢查錯誤?再次感謝。 – user3803315