訪問修飾符

應該為區域性變數保留 Dim 語句。在模組級別,更喜歡顯式訪問修飾符:

  • 私有欄位的 Private,只能在宣告它們的模組中訪問。
  • Public 用於公共欄位和全域性變數,可以通過任何呼叫程式碼訪問。
  • Friend 表示專案中的變數 public,但其他引用 VBA 專案無法訪問(與載入項相關)
  • Global 也可用於標準模組中的 Public 欄位,但在類模組中是非法的,無論如何都是過時的 - 而不是 Public 修飾符。此修飾符也不適用於程式。

訪問修飾符適用於變數和過程。

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

選項私人模組

標準模組中的公共無引數 Sub 過程作為巨集公開,可以附加到主文件中的控制元件和鍵盤快捷鍵。

相反,標準模組中的公共 Function 過程在主機應用程式中作為使用者定義的函式(UDF)公開。

在標準模組的頂部指定 Option Private Module 可防止其成員作為巨集和 UDF 暴露給主機應用程式。