Deftype 語句
用於模組層級,以設定變數的默認數據類型、傳遞至程式的自變數,以及名稱開頭為指定字元之 Function 和 Property Get 程式的傳回型別。
語法
DefBoolletterrange, [ letterrange ] . . .DefByteletterrange, [ letterrange ] . . .DefIntletterrange, [ letterrange ] . . .DefLngletterrange, [ letterrange ] . . .DefLngLngletterrange, [ letterrange ] . . . . . (只在 64 位平臺上有效,) DefLngPtrletterrange, [ letterrange ] . . 。DefCurletterrange, [ letterrange ] . . .DefSngletterrange, [ letterrange ] . . .DefDblletterrange, [ letterrange ] . . .DefDecletterrange, [ letterrange ] . . .DefDateletterrange, [ letterrange ] . . .DefStrletterrange, [ letterrange ] . . .DefObjletterrange, [ letterrange ] . . .DefVarletterrange, [ letterrange ] . . .
必要的 letterrange 自變數 具有下列語法: letter1 [ -letter2 ]
letter1 和 letter2 自變數會指定您可以設定預設資料類型的名稱範圍。 每個自變數都代表變數、自變數、 函數 程式或 屬性取得 程式名稱的第一個字母,而且可以是字母的任何字母。 letterrange 中的字母大小寫並不重要。
註解
語句名稱會決定數據類型。
陳述式 | 資料類型 |
---|---|
DefBool | 布林值 |
DefByte | 位元組 |
DefInt | 整數 |
DefLng | Long |
DefLngLng | LongLong (僅在 64 位平臺上有效) |
DefLngPtr | LongPtr |
DefCur | 貨幣 |
DefSng | Single |
DefDbl | 雙精確度 |
DefDec | 目前不支援的十進位 () |
DefDate | Date |
DefStr | 字串 |
DefObj | Object |
DefVar | Variant |
例如,在下列程式片段中, Message
是字串變數。
DefStr A-Q
. . .
Message = "Out of stack space."
Def類型語句只會影響使用它的模組。 例如,一個模組中的 DefInt語 句只會影響變數的預設數據類型、傳遞至程式的自變數,以及該模組中宣告之 Function 和 Property Get 程式的傳回類型;其他模組中變數、自變數和傳回型別的預設數據類型不會受到影響。 如果未使用 Def類型 語句明確宣告,則所有變數、所有自變數、所有 Function 程式和所有 Property Get 程式的預設數據類型為 Variant。
當您指定字母範圍時,通常會定義以 字元集前 128 個字元中的字母開頭之變數的數據類型。 不過,當您指定字母範圍 A–Z 時,您會將所有變數的預設值設定為指定的數據類型,包括從字元集延伸部分開頭為國際字元的變數 , (128–255) 。
指定範圍 A-Z 之後,您就無法使用 Def類型 語句進一步重新定義任何變量子範圍。 指定範圍之後,如果您在另一個 Def類型語句中包含先前定義的字母,就會發生錯誤。 不過,您可以使用 Dim 語句搭配 As 類型子句,明確指定任何變數的數據類型,無論是否已定義。
例如,您可以在模組層級使用下列程式代碼,將變數定義為 Double ,即使預設數據類型為 Integer 也一樣。
DefInt A-Z
Dim TaxRate As Double
Def類型 語句不會影響 使用者定義型別的專案 ,因為必須明確宣告專案。
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。