常量、固定长度字符串、数组、用户定义类型和 Declare 语句无法允许作为对象模块的公共成员

并不能将对象模块中的所有变量声明为 Public。 但默认情况下,过程为 Public,并且 Property 过程可用于依照语法模拟变量。 此错误具有以下原因和解决方法:

  • 在对象模块中声明一个 Public常量

    虽然不能在对象模块中声明 Public 常量,但可以创建同名 Property Get 过程。 如果未创建具有该名称的 Property LetProperty Set 过程,则可以创建只读属性,该属性可通过与使用常量的相同方式来使用。

  • 在对象模块中声明 Public 固定长度字符串。 可以使用一组 Property 过程模拟固定长度的字符串,这些过程可以在字符串数据超出允许长度时截断该数据,也可以告知用户长度已超出允许的范围。

  • 在对象模块中声明 Public数组

    虽然过程无法返回数组,但它可以返回包含数组的 Variant。 若要在类模块中模拟 Public 数组,请使用一组 Property 过程,这些过程接受并返回包含数组的 Variant

  • Declare 语句置于对象模块中。 Declare 语句是隐式公用的。 在 Declare 语句前面加上 Private关键字

有关其他信息,选择有问题的项并按 F1(在 Windows 中)或 HELP(在 Macintosh 上)。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。