共用方式為


Deftype 語句

用於模組層級設定變數的預設資料型態、傳遞給程序參數,以及 FunctionProperty 的回傳類型。取得以指定字元開頭的程序。

語法

DefBool字母範圍,[ 字母範圍 ] ......DefByteletterrange, [ letterrange ] ......定義字母範圍,[ 字母範圍 ] ......降低字母範圍、[ 字母範圍 ] ......DefLngLngletterrange, [ letterrange ] ... ( 僅適用於 64 位元平台) DefLngPtrletterrange, [ letterrange ] ...DefCur字母範圍,[ 字母範圍 ] ......DefSng字母範圍,[ 字母範圍 ] ......DefDbl字母範圍,[ 字母範圍 ] ......DefDec字母範圍、[ 字母範圍 ] ......DefDateletterrange, [ letterrange ] ......DefStr字母範圍,[ 字母範圍 ] ......DefObj字母範圍、[ 字母範圍 ] ......DefVar字母範圍,[ 字母範圍 ] ......

所需的 letterrange 參數語法如下: letter1 [ -letter2 ]

letter1letter2 參數指定了你可以設定預設資料型別的名稱範圍。 每個參數代表變數、參數、 函式 程序或 Property 取得 程序名稱的第一個字母,且可以是字母表中的任何一個字母。 字母在 letterrange 的案例並不顯著。

註解

語句名稱決定資料型態。

陳述式 資料類型
DefBool 布林值
DefByte 位元組
DefInt 整數
防禦 Long
DefLngLng LongLong (僅適用於 64 位元平台)
DefLngPtr LongPtr
防備庫 貨幣
防禦性武器 Single
DefDbl 雙精確度
防務署 進位 (目前不支援)
DefDate Date
防禦力 字串
防衛 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 ,儘管預設資料型別是整

DefInt A-Z
Dim TaxRate As Double

Def型態 陳述不會影響 使用者定義型別 的元素,因為這些元素必須明確宣告。

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應