用戶定義類型(User-Defined Type,簡稱UDT)可以方便地在一個變量中存儲相關數據,是編程者自已設置的數據類型。
使用Type語句來定義用戶定義類型:
[Private Public] Type 用戶定義類型名稱
元素名稱As 類型
元素名稱As 類型
……
End Type
說明:
一個用戶定義類型可以包括一個或多個元素
必須在模塊的聲明部分編寫用戶定義類型
在用戶定義類型作用域范圍內可以聲明變量為用戶定義類型
元素名稱可以是數組
類型可以是另一個用戶定義類型
用戶定義類型可以用于構建高級數據結構,如隊列、鏈表和棧
下面的代碼定義了一個簡單的UDT:
Public Type udtStudent
Num As Integer
Name As String
Age As Integer
End Type
可以在UDT中使用其他的UDT,如下所示:
Public Type udtGrade
Chinese As Integer
Math As Integer
English As Integer
End Type
Public Type udtStudent
Num As Integer
Name As String
Age As Integer
Grade As udtGrade
End Type
注意,被引用的UDT必須放置在引用的UDT之前,如上面的代碼所示。
創建一個UDT類型的數組:
Private students(10) AsudtStudent
給UDT中的數據賦值:
students(0).Num = 1
students(0).Name =”Jessica”
students(0).Age = 9
students(0).Grade.Chinese = 95
下面的代碼可以判斷UDT中元素的類型:
Private MyGrade As udtGrade
If TypeOf MyGrade Is udtGradeThen
Debug.Print “這個用戶定義類型是udtGrade.”
End If
Debug.PrintTypeName(MyGrade.Chinese)
結果如下所示。







