共用方式為


Type 陳述式

用於 模組層級 ,以定義包含一或多個元素的使用者定義 資料類型

語法

[ Private | Public ]輸入varnameelementname [ ( [下標] ) ]類型
[ elementname [ ( [ subscripts ] ) ] Astype ] . . .
結束類型

Type語句語法具有下列部分:

部分 描述
Public 選用。 用來宣告使用者定義型別,這些類型可供所有專案中所有模組中的所有程式使用。
Private 選用。 用來宣告只能在進行 宣告 的模組內使用的使用者定義型別。
varname 此為必要動作。 使用者定義型別的名稱;遵循標準 變數 命名慣例。
elementname 此為必要動作。 使用者定義型別的專案名稱。 專案名稱也遵循標準變數命名慣例,但可以使用 關鍵字
下標 若未在 下方明確陳述,則陣列的下限是由 Option Base 語句所控制。 如果沒有 Option Base 語句,則下限為零。
type 此為必要動作。 元素的資料類型;可以是字布林值整數貨幣單一精度浮點數, (目前不支援可變長度字串) 的) 位元組、日期字元串 () 、固定長度字串) 的字串長度 (、ObjectVariant、另一個使用者定義型別或物件類型

註解

Type 語句只能在模組層級使用。 使用 Type 語句宣告使用者定義型別之後,您可以在宣告 範圍內的任何位置 宣告該類型的變數。 使用 DimPrivatePublicReDimStatic 宣告使用者定義類型的變數。

標準模組類別模組中,使用者定義型別預設為公用。 您可以使用 Private 關鍵字來變更此可見度。

類型中不允許行號行標籤...結束類型區塊。

使用者定義型別通常會與資料記錄搭配使用,這些記錄通常是由不同資料類型的一些相關元素所組成。

下列範例示範如何在使用者定義類型中使用固定大小的陣列:

Type StateData 
    CityCode (1 To 100) As Integer    ' Declare a static array. 
    County As String * 30 
End Type 
 
Dim Washington(1 To 100) As StateData 

在上述範例中 CityCodeStateData 包含靜態陣列,而且記錄 Washington 的結構與 StateData 相同。

當您在使用者定義型別內宣告固定大小的陣列時,其維度必須使用數值常值或 數來宣告,而非變數。

範例

此範例會使用 Type 語 句來定義使用者定義的資料類型。 Type 語句僅用於模組層級。 如果它出現在類別模組中, Type 語句前面必須加上關鍵字 Private

Type EmployeeRecord    ' Create user-defined type. 
    ID As Integer    ' Define elements of data type. 
    Name As String * 20 
    Address As String * 30 
    Phone As Long 
    HireDate As Date 
End Type 
Sub CreateRecord() 
    Dim MyRecord As EmployeeRecord    ' Declare variable. 
 
    ' Assignment to EmployeeRecord variable must occur in a procedure. 
    MyRecord.ID = 12003    ' Assign a value to an element. 
End Sub

另請參閱

支援和意見反應

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