對於自定義對象,我想測試兩個條件。首先是該物體是不是什麼。如果是,請輸入該塊。如果對象不是什麼,我想對對象的某個屬性進行測試,並且只有在通過該測試時才進入該對象。VBA:錯誤使用或(在IF-THEN語句)時拋出,第一個條件測試,如果對象是什麼
因此,聲明將通過類似於:
If myObject Is Nothing Or myObject.myInt > x Then
'Perform my task
End If
如果myObject的是其實沒什麼,這將引發一個錯誤,因爲當它測試的第二個條件,它會嘗試訪問該ISN一個對象的屬性在那裏。
我已經在過去曾與大多數語言就懶得來測試或陳述的第二個條件,如果它發現的第一個條件是真實的,所以你可以用寫上一行離開。 VBA似乎不允許這樣做。有沒有什麼等價的方法可以寫出這個聲明,而不訴諸於:
If myObject Is Nothing Then
'Perform my task
ElseIf myObject.myInt > x Then
'Perform my task
End If
?
編輯的CLARITY
謝謝,DJ,這可能是最有效的方式,它不會把任務放在一個單獨的子程序中(我認爲這是過度殺傷,它只有幾行) – Swiftslide