公共變數_理解VBA變數宣告 進入程式設計第一步
技術標籤:公共變數
批量列印程式碼
宣告變數,就是像製造了一個盒子,這個盒子有他的名稱,叫做變數名,有他的外觀,叫做資料型別,盒子裝有東西,叫做變數的值。這個盒子放在哪個位置叫做作用域,比如 Public,Private,Static 。宣告變數時,通常使用 Dim 語句。 宣告語句可以置於建立過程中以建立過程級變數。 也可以置於宣告部分的模組頂部,以建立模組級變數。下面的示例建立變數並指定 String 資料型別。
Dim Name As String
如果該語句出現在某個過程中,那麼只能在該過程中使用變數 Name。 如果語句出現在模組的宣告部分,則變數 Name 可用於該模組內的所有過程,但不適用於專案中其他模組內的過程。
若要使此變數適用於專案中的所有過程,請在其前面新增 Public 語句,如以下示例所示:
Public Name As String
變數可以宣告為以下資料型別之一:Boolean、Byte、Integer、Long、Currency、Single、Double、Date、String(適用於可變長度的字串)、String * length(適用於固定長度的字串)、Object 或 Variant。 如果不指定資料型別,則預設分配 為Variant 資料型別。 此外,你也可以使用 Type 語句建立使用者定義的型別。你可在一個語句中宣告多個變數。 若要指定資料型別,必須為每個變數包括資料型別。在下面的語句中,變數 intX、intY 和 intZ 宣告為 Integer 型別。
Dim intX As Integer, intY As Integer, intZ As Integer
在下面的語句中,intX 和 intY 都宣告為 Variant 型別;只有 intZ 宣告為 Integer 型別。
Dim intX, intY, intZ As Integer
你不需要在宣告語句中提供變數的資料型別。 如果省略資料型別,變數將為 Variant 型別。
可以使用 Public 語句宣告公共模組級變數。
Public Name As String
可以在專案中的任何過程中使用公共變數。 如果在標準模組或類模組中宣告公共變數,則還可以在引用宣告該公共變數專案的任何專案中使用該變數。可以使用 Private 語句宣告私有模組級變數。Private Name As String, 私有變數僅能由相同模組中的過程使用。當使用 Static 語句而非 Dim 語句來宣告過程中的變數時,宣告的變數將在該過程的兩次呼叫之間保留其值。通過在賦值語句中使用一個變數,即可在 Visual Basic 中隱式宣告此變數。 隱式宣告的所有變數都是 Variant 型別。 相比大多數其他變數,Variant 型別變數需要更多的記憶體資源。 如果顯式宣告變數並使用特定的資料型別,應用程式將更加高效。 顯式宣告所有變數可以減少命名衝突錯誤和拼寫錯誤的發生。如果不希望 Visual Basic 進行隱式宣告,可在任何過程之前將 Option Explicit 語句置於模組中。 此語句要求顯式宣告模組內的所有變數。 如果模組包含 Option Explicit語句,那麼當 Visual Basic 遇到一個之前沒有宣告的變數名或拼寫錯誤的變數名時,就會發生編譯時錯誤。你可以在 Visual Basic 程式設計環境中設定一個選項,以便在所有新模組中自動包含 Option Explicit 語句。