Public 语句
语法
Public [ WithEvents ] varname [ ( [ 下标 ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ 下标 ] ) ] [ As [ New ] type ]] . . . .
“公共”语句语法包含以下部分:
Part | 说明 |
---|---|
WithEvents | 可选。 说明 varname 是用于响应 ActiveX 对象触发的事件的 对象变量的关键字。 WithEvents 仅在类模块中有效。 可以使用 WithEvents 声明任意数量的单个变量,但不能使用 WithEvents 创建数组,也不能将 New 与 WithEvents 配合使用。 |
varname | 必填。 变量的名称;遵循标准命名约定。 |
下标 | 可选。 数组变量的维度;达到 60 多维度可能会被声明。
下标参数使用以下语法: [ lowerTo ] upper [ , [ lowerTo ] upper ] . . 如果未在 lower 中显式声明,则数组的下限由 Option Base 语句控制。 如果没有 Option Base 语句,则下限为零。 |
New | 可选。 启用对象的隐式创建的关键字。 如果在声明对象变量时使用 New ,则会在首次引用对象变量时创建对象的新实例,因此不必使用 Set 语句来分配对象引用。 新关键字 (keyword) 不能用于声明任何内部数据类型的变量。 它还不能用于声明依赖对象的实例,并且不能与 WithEvents 一起使用。 |
type | 可选。 变量的数据类型;可以是 当前不支持的字节、 布尔值、 整数、 长、 货币、 单精度、 双精度、 小数 () 、 日期、 可变 长度字符串 () 、固定长度字符串的 字符串长度 () 、 Object、 Variant、 用户定义类型或 对象类型。 对要定义的每个变量使用单独的 As类型 子句。 |
备注
使用 Public 语句声明的变量可用于所有应用程序中所有模块中的所有过程,除非 Option Private Module 有效;在这种情况下,变量仅在它们所在的 项目中 是公共的。
The Public statement can't be used in a class module to declare a fixed-length string variable.
Use the Public statement to declare the data type of a variable. For example, the following statement declares a variable as an Integer:
Public NumberOfEmployees As Integer
Also use a Public statement to declare the object type of a variable. 以下语句为新的工作表实例声明一个变量:
Public X As New Worksheet
如果在声明对象变量时未使用 New 关键字 (keyword) ,则必须使用 Set 语句为引用对象的变量分配现有对象,然后才能使用它。 在为其分配对象之前,声明的对象变量具有特殊值 Nothing,指示它不引用对象的任何特定实例。
You can also use the Public statement with empty parentheses to declare a dynamic array. 声明动态数组后,在过程中使用 ReDim 语句来定义数组中的维度和元素数。 如果尝试为在 Private、 Public 或 Dim 语句中显式指定其大小的数组变量重新声明维度,则会发生错误。
如果未指定数据类型或对象类型,并且模块中没有 Deftype 语句,则变量默认为 Variant 。
在初始化变量时,数值变量将初始化为 0,可变长度字符串将初始化为零长度字符串 (""),固定长度字符串将使用零填充。 将“变量”变量初始化为空。 用户定义类型的变量的每个元素将会像它们是单独的变量那样初始化。
示例
此示例使用“公共”语句在标准模块的模块级(通用部分)显式声明变量为公共;即变量可用于所有应用程序中所有模块内的所有过程,除非 Option Private Module 有效。
Public Number As Integer ' Public Integer variable.
Public NameArray(1 To 5) As String ' Public array variable.
' Multiple declarations, two Variants and one Integer, all Public.
Public MyVar, YourVar, ThisVar As Integer
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。