vba - macro - ¿Cuál es la diferencia entre Dim, Global, Public y Private Modular Field Access Modifiers?
var vba (1)
Dim
y Private
funcionan igual, aunque la convención común es usar Private
en el nivel de módulo y Dim
en Sub / Function level. Public
y Global
son casi idénticos en su función; sin embargo, Global
solo se puede usar en módulos estándar, mientras que Public
se puede usar en todos los contextos (módulos, clases, controles, formularios, etc.) Global
proviene de versiones anteriores de VB y probablemente se mantuvo para compatibilidad con versiones anteriores, pero ha sido completamente reemplazado por Public
.
En VB6 / VBA, puede declarar variables de nivel de módulo fuera de un método Sub
o Function
específico. He utilizado los módulos Private
y Public
antes que dentro y los entiendo así:
-
Public
: visible para todo el código dentro del módulo y todo el código fuera del módulo, esencialmente haciéndolo global. -
Private
: solo visible para codificar dentro del módulo.
Me di cuenta de que puede usar Dim
y Global
como modificadores para variables modulares. ¿Son Dim
y Global
diferentes de Private
y Public
, respectivamente, cuando se usan como modificadores de acceso en campos modulares? Si es así, ¿cómo son diferentes?