VBA標準模組與類模組(轉)
大家透過之前的介紹,已知道怎麼將一個空模組插入VBA的工程中。從插入模組中可以看到,模組有有兩種——標準模組與類模組。類模組是含有類定義的特殊模組,包括其屬性和方法的定義。在後面會有介紹與說明。
隨著工程越來越委員複雜,我們就有可能會有多個模組。使用多模組的好處就是,它允許將相關的過程聚合在一起,使程式碼的可維護性與可重用性大大提高,更使我們能夠方便地管理程式碼。透過不同的模組,我們還可以為不同模組定製不同的行為,定製模組行為的方法有4種:
1、Option Explicit。當使用Option Explicit時,必須在模組中的所有過程宣告每一個變數,否則會出現語法錯誤並不能被編譯。這樣做的好處是,它能消除程式中因為錯拼變數名而導致程式錯誤,所以見意使用此選項。自動設定的方法:在VBA編輯器工具選單中選項裡的編輯器選卡中的要求宣告變數選項選上即可。這個每次插入新模組時會自動插入此宣告。
2、Option Private Module。當使用此設定時,模組中的程式碼將標記為私有,這樣在宏對話方塊中就不能看到這些程式碼,也就是在Excel主介面的工具/宏/宏的對話方塊中不會顯示私有的子程式名稱,這也防止了模組的內容被其它工程引用,不過在同一工程中的其它模組仍然是可用的。
3、Option Compare {Binary | Text | Database}。用於宣告字串比較時所用的預設比較方法。如果模組中沒有 Option Compare 語句,則預設的文字比較方法是 Binary。
Option Compare Binary 是根據字元的內部二進位制表示而匯出的一種排序順序來進行字串比較。在 Microsoft Windows 中,排序順序由內碼表確定。典型的二進位制排序順序如下例所示:
A < B < E < Z < a < b < e < z < _ < _ < _ < _ < _ < ?
Option Compare Text 根據由系統區域確定的一種不區分大小寫的文字排序級別來進行字串比較。當使用 Option Compare Text 對相同字元排序時,會產生下述文字排序級別:
(A=a) < ( _=_) < (B=b) < (E=e) < (_=_) < (Z=z) < (_=_)
Option Compare Database 只能在 Microsoft Access 中使用。當需要字串比較時,將根據資料庫的區域 ID 確定的排序級別進行比較。
4、Option Base {0 | 1}。用來宣告陣列下標的預設下界。
注意 Dim、Private、Public、ReDim 以及 Static 語句中的 To 子句提供了一種更靈活的方式來控制陣列的下標。不過,如果沒有使用 To 子句顯式地指定下界,則可以使用 Option Base 將預設下界設為 1。使用 Array 函式或 ParamArray 關鍵字建立的陣列的下界為 0;Option Base 對 Array 或 ParamArray 不起作用。
Option Base 語句隻影響位於包含該語句的模組中的陣列下界。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-955125/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 模組轉測標準
- 標準庫之 random 模組random
- python常用標準庫(os系統模組、shutil檔案操作模組)Python
- python標準庫模組放在哪裡?Python
- 06 ## 模組分類
- Python基礎12(模組與datetime模組)Python
- 序列化模組,隨機數模組,os模組,sys模組,hashlib模組隨機
- 模組與包
- Python入門(二十六):檔案模組(os模組與shutil模組)Python
- 什麼是模組?Python模組分為哪幾類?Python
- python 模組:itsdangerous 模組Python
- path模組 fs模組
- Python模組:time模組Python
- 模組化日常:重名類
- day18:json模組&time模組&zipfile模組JSON
- ES6模組與commonJS模組的差異JS
- Python 3 快速入門 3 —— 模組與類Python
- 轉:os和sys模組
- Python模組之urllib模組Python
- python模組之collections模組Python
- CommonJS模組 和 ECMAScript模組JS
- Python包與模組Python
- Python - 模組與包Python
- python模組與包Python
- Python新手常見問題八:標準庫模組命名Python
- python常用標準庫(壓縮包模組zipfile和tarfile)Python
- Python語言模組分為哪幾類?有哪些主要模組?Python
- ES6 模組化與 CommonJS 模組化區別JS
- 序列化模組,subprocess模組,re模組,常用正則
- 聊天模組及分享模組分享
- [Python模組學習] glob模組Python
- 模組學習之hashlib模組
- 模組學習之logging模組
- 常用介面分類與模組設計的方法
- Nginx的HTTP模組與Stream模組:區別與應用場景NginxHTTP
- Android模組化與元件化–多模組區分編譯Android元件化編譯
- Python常用模組(random隨機模組&json序列化模組)Pythonrandom隨機JSON
- 模組
- ECDSA—模乘模組