VBA Modificateurs d'accès


Exemple

L'instruction Dim doit être réservée aux variables locales. Au niveau du module, préférez les modificateurs d'accès explicite:

  • Private pour les champs privés, auxquels on ne peut accéder que dans le module dans lequel ils ont été déclarés.
  • Public pour les champs publics et les variables globales, accessibles par n'importe quel code d'appel.
  • Friend pour les variables publiques dans le projet, mais inaccessible aux autres projets VBA de référence (pertinent pour les compléments)
  • Global peut également être utilisé pour Public champs Public dans les modules standard, mais est illégal dans les modules de classe et est de toute façon obsolète - préférez plutôt le modificateur Public . Ce modificateur n'est pas légal pour les procédures non plus.

Les modificateurs d'accès sont applicables aux variables et aux procédures.

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

Module privé d'option

Les Sub procédures publiques sans paramètre dans les modules standard sont exposées en tant que macros et peuvent être associées à des contrôles et à des raccourcis clavier dans le document hôte.

Inversement, les procédures de Function publique dans les modules standard sont exposées en tant que fonctions définies par l'utilisateur dans l'application hôte.

La spécification Option Private Module en haut d'un module standard empêche ses membres d'être exposés en tant que macros et UDF à l'application hôte.