Dim,Global,Public和Private作为模块化字段访问修饰符有什么区别?

在VB6 / VBA中,可以在特定的SubFunction方法之外声明模块级别的variables。 我在模块内部使用了PrivatePublic ,并且像这样理解它们:

  • Public – 对模块内的所有代码和模块外的所有代码都是可见的,实质上使其成为全局代码。
  • Private – 仅对模块内部的代码可见。

我注意到你可以使用DimGlobal作为模块化variables的修饰符。 DimGlobal分别与PrivatePublic不同,当用作模块化字段的访问修饰符时? 如果是这样,他们有什么不同?

DimPrivate工作原理是一样的,尽pipe通用惯例是在模块级别使用Private ,而在Sub / Function级别使用DimPublicGlobal在function上几乎完全相同,但是Global只能用在标准模块中,而Public可以用在所有的上下文中(模块,类,控件,表单等等)。 Global来自VB的旧版本,很可能保留为了向后兼容,但已经完全被Public取代。