Type 语句
在 模块级别 用于定义包含一个或多个元素的用户定义 数据类型 。
语法
[ 专用 | 公共 ] 键入varnameelementname [ ( [ 下标 ] ) ] As类型
[ elementname [ ( [ 下标 ] ) ] Astype ] . . .
End Type
Type 语句语法具有以下部分:
Part | 说明 |
---|---|
Public | 可选。 用于声明对所有项目中的所有模块中的所有过程可用的用户定义的类型。 |
Private | 可选。 用于声明用户定义的类型,这些类型仅在用于生成声明的模块中可用。 |
varname | 必填。 用户定义的类型的名称;遵循标准变量命名约定。 |
elementname | 必填。 用户定义的类型的元素的名称。 元素名称也遵循标准变量命名约定(可使用的关键字除外)。 |
下标 | 如果未在 lower 中显式声明,则数组的下限由 Option Base 语句控制。 如果不存在 Option Base 语句,则下限为零。 |
type | 必填。 元素的数据类型;可以是当前不支持的字节、布尔值、整数、长、货币、单一、双精度、小数 () 、日期、字符串 ((对于可变长度字符串) ),对于固定长度字符串) 、Object、Variant、另一个用户定义类型或对象类型,可以是字符串长度 (。 |
备注
Type 语句只能在模块级别使用。 使用 Type 语句声明用户定义类型后,可以在声明 范围内的 任意位置声明该类型的变量。 使用 Dim 、 Private 、 Public 、 ReDim 或 Static 声明用户定义的类型的变量。
在标准模块和类模块中,默认情况下,用户定义的类型是公用的。 可以使用 Private 关键字更改此可见性。
Type...End Type 块中不允许使用行号和行标签。
用户定义的类型通常用于数据记录,它们经常由不同的数据类型的大量相关元素组成。
以下示例演示了用户定义的类型中的固定大小的数组的用法:
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
在前面的示例中, StateData
包括 CityCode
静态数组,并且记录 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈