訪問修飾符
應該為區域性變數保留 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 暴露給主機應用程式。