共用方式為


Deftype 語句

用於模組層級,以設定變數的默數據類型、傳遞至程式的自變數,以及名稱開頭為指定字元之 FunctionProperty 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 ]

letter1letter2 自變數會指定您可以設定預設資料類型的名稱範圍。 每個自變數都代表變數、自變數、 函數 程式或 屬性取得 程式名稱的第一個字母,而且可以是字母的任何字母。 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語 句只會影響變數的預設數據類型、傳遞至程式的自變數,以及該模組中宣告之 FunctionProperty 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 支援與意見反應