2013-03-15 14 views
2

我有一個返回字典的VBA函數,然後如果在構建字典時出現錯誤,需要採取一定的行動。像這樣:如何將對象設置爲可以布爾檢查的空值?

Public Sub takeAction(s as string) 

Dim dict as Dictionary 
Set dict=makeADictionary(s) 
If dictionaryIsOK(dict) Then 
doSomething 
Else 
doSomethingElse 
End If 

End Sub 

我無法使dictionaryIsOK功能,因爲如果我嘗試字典設置Nothing作爲指示空值的方式,似乎這個值不能進行檢查。例如:

Sub testNothing() 

Dim d As New Dictionary 

Set d = Nothing 
Debug.Print d Is Nothing 

End Sub 

這將打印false,即使我設置dNothing。對於所有其他對象類型,這似乎也是如此。

那麼,什麼空值可以分配給一個對象,在這種情況下,一個字典,什麼將布爾檢查它?上述

回答

4
Dim d As New Dictionary 

在VBA/VB6,意思是「聲明變量d奇蹟般地總是包含的Dictionary一個實例。如果我的變量設置爲Nothing,實例化一個新的Dictionary對我下一次我訪問變量。 「

要刪除New

Dim d As Dictionary 

然後你就可以檢查變量Is Nothing與否。

+1

有趣。我不知道「Dim x as new y'。 – sigil 2013-03-15 17:30:01

1

您需要正確實例化。此作品:

Dim d As Dictionary 
Set d = New Dictionary 
Set d = Nothing 
Debug.Print d Is Nothing 
相關問題