在VB6 / VBA中,您可以在特定Sub
或Function
方法之外声明模块级变量。我在内部模块之前使用了Private
和Public
,并按照这样理解它们:
Public
- 模块内的所有代码和模块外的所有代码都可见,基本上使其成为全局代码。Private
- 仅对模块内的代码可见。我注意到您可以使用Dim
和Global
作为模块变量的修饰符。在用作模块化字段的访问修饰符时,Dim
和Global
是否分别与Private
和Public
不同?如果是这样,它们有何不同?
答案 0 :(得分:85)
Dim
和Private
的工作方式相同,但通常的惯例是在模块级别使用Private
,在子级/功能级别使用Dim
。 Public
和Global
的功能几乎相同,但Global
只能用于标准模块,而Public
可用于所有上下文(模块,类,控件) ,表格等。)Global
来自旧版本的VB,可能是为了向后兼容,但已被Public
完全取代。