访问修饰符

应该为局部变量保留 Dim 语句。在模块级别,更喜欢显式访问修饰符:

  • 私有字段的 Private,只能在声明它们的模块中访问。
  • Public 用于公共字段和全局变量,可以通过任何调用代码访问。
  • Friend 表示项目中的变量 public,但其他引用 VBA 项目无法访问(与加载项相关)
  • Global 也可用于标准模块中的 Public 字段,但在类模块中是非法的,无论如何都是过时的 - 而不是 Public 修饰符。此修饰符也不适用于程序。

访问修饰符适用于变量和过程。

Private ModuleVariable As String
Public GlobalVariable As String

Private Sub ModuleProcedure()

    ModuleVariable = "This can only be done from within the same Module"

End Sub

Public Sub GlobalProcedure()

    GlobalVariable = "This can be done from any Module within this Project"

End Sub

选项私人模块

标准模块中的公共无参数 Sub 过程作为宏公开,可以附加到主文档中的控件和键盘快捷键。

相反,标准模块中的公共 Function 过程在主机应用程序中作为用户定义的函数(UDF)公开。

在标准模块的顶部指定 Option Private Module 可防止其成员作为宏和 UDF 暴露给主机应用程序。