使用常量

您的代码可能包含经常出现的常量值,或者可能依赖某些难以记忆且无明显含义的数字。 可以使用 常量使代码更易于阅读和维护。 常量是替代数字或字符串的不能更改且有含义的名称。 无法像对待变量那样修改常量或对其赋予新值。

常量类型

有三种类型的常量:

  • 内部常量或系统定义的常量由应用程序和控件提供。 提供 对象库的其他应用程序(如 Microsoft Access、Excel、Project 和 Word)也提供可用于其对象、方法和属性的常量列表。 可以在对象浏览器中获得为各个对象库提供的常量列表。

    Visual Basic 常量在 Visual Basic for Applications 类型库和数据访问对象 (DAO) 库中列出。

    注意

    [!注释] Visual Basic 仍然识别在早期版本 Visual Basic 或 Visual Basic for Applications 中创建的应用程序中的常量。 可以将常量升级到 对象浏览器中列出的常量。 不必在应用程序中声明 对象浏览器 中列出的常量。

  • 使用 Const 语句声明符号常量或用户定义的常量。

  • 条件编译器常量 是使用 #Const 语句 (指令) 声明的。

在早期版本的 Visual Basic 中,常量名称通常采用大写字母且带有下划线。 例如:

TILE_HORIZONTAL 

内部常量现在经过限定,以避免在多个对象库中存在具有相同名称的常量时混淆,这些常量可能分配了不同的值。 有两种方法限定常量名称:

  • 通过前缀
  • 通过库引用

按前缀限定常量

所有对象提供的固有常量都以大小写混合的格式显示,并带有 2 个字符的前缀以指示定义常量的对象库。 Visual Basic for Applications 对象库中常量的前缀为"vb",而 Microsoft Excel 对象库中常量的前缀为"xl"。 下面的示例演示自定义控件的前缀如何根据类型库变化。

  • vbTileHorizontal
  • xlDialogBorder

按库参考限定常量

还可以使用以下语法限定对常量的引用。

[ libname.] [ modulename.] constname

限定常量的的语法包含以下部分:

Part 说明
libname 可选。 定义常量的类型库的名称。 对于大多数自定义控件(Macintosh 上不提供),这也是控件的名称。 如果不记得控件的类名称,请将鼠标指针置于工具箱的控件上。 类名称将显示在工具提示中。
modulename 可选。 定义常量的类型库中模块的名称。 可以使用对象浏览器查找模块的名称。
constname 类型库中为常量定义的名称。

例如:

Threed.LeftJustify 

另请参阅

支持和反馈

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