VBA Modificatori di accesso


Esempio

L'istruzione Dim deve essere riservata alle variabili locali. A livello di modulo, preferisci i modificatori di accesso esplicito:

  • Private per campi privati, a cui è possibile accedere solo all'interno del modulo in cui sono dichiarati.
  • Public per campi pubblici e variabili globali, a cui è possibile accedere tramite qualsiasi codice di chiamata.
  • Friend per le variabili pubbliche all'interno del progetto, ma inaccessibili ad altri progetti VBA di riferimento (rilevanti per i componenti aggiuntivi)
  • Global può essere utilizzato anche per Public campi Public in moduli standard, ma è illegale nei moduli di classe ed è comunque obsoleto - preferire invece il modificatore Public . Anche questo modificatore non è legale per le procedure.

I modificatori di accesso sono applicabili a variabili e procedure allo stesso modo.

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

Opzione Modulo privato

Le procedure Sub parametri pubbliche nei moduli standard sono esposte come macro e possono essere allegate ai comandi e alle scorciatoie da tastiera nel documento host.

Viceversa, le procedure di Function pubblica nei moduli standard sono esposte come funzioni definite dall'utente (UDF) nell'applicazione host.

La specifica Option Private Module nella parte superiore di un modulo standard impedisce ai suoi membri di essere esposti come macro e UDF all'applicazione host.