4.5 使用常量
現(xiàn)在,你已經(jīng)知道變量是存儲非靜態(tài)信息的存儲容器.當(dāng)存儲靜態(tài)信息時可以創(chuàng)建常量.它可以供程序多次使用而且便于記憶.比如圓周率比3.1415926好理解得多.
要聲明常量并設(shè)置常量的值,需要使用const語句.常量聲明后,不能對它賦一個新的值.例如,假設(shè)需要聲明一個常量來保存銷項稅率,可以使用以下語句:
conet 銷項稅率 As Long = 0.17
通常常量聲明時用全大寫字母以區(qū)分變量.
4.6 作用域
到現(xiàn)在為止,已經(jīng)學(xué)習(xí)了如何定義變量和常量,但是還不知道在何處定義.可以在兩個地方定義常量和變量:
過程中定義和在模塊頂部一個名為"通用聲明"的區(qū)域內(nèi)定義.而且定義的位置就決定了租用域.
在過程中聲明,該變量只能在該過程中使用,其他過程中不能使用這個變量和常量,這中變量成為局部變量或過程級變量;在模塊頂部聲明的變量稱為模塊級變量,該變量在該模塊的所有過程中都可以使用。
還有一種等級的作用域稱為公共級。公共級變量可以在應(yīng)用程序的任何過程中使用,不論過程和變量是否定義在一個模塊。這就使得公共級變量在使用中十分靈活,但是公共級變量在程序運行時一直保留在內(nèi)存中,這樣就占用了系統(tǒng)資源。要創(chuàng)建公共級變量,可以用Public語句,具體語法如下:
Public variablename As datatype
要創(chuàng)建公共級常量,具體語法如下:
Public const CONSTANAME datatype = value
公共級變量或常量必須在模塊頂部的“通用聲明”區(qū)域中定義。
4.7 小結(jié)
本課的重點是變量和常量。在本課中你學(xué)會了如何創(chuàng)建變量來保存非靜態(tài)的數(shù)據(jù)。我們了解了VBA的數(shù)據(jù)類型,我們也學(xué)會了創(chuàng)建常量來保存靜態(tài)的數(shù)據(jù)。本課的最后部分我們學(xué)習(xí)了變量和常量的作用域。
4.8 疑難解答
1.如果希望在多個位置使用變量的數(shù)據(jù),應(yīng)該在何處定義該變量?
答:必須在模塊頂部的“通用聲明”區(qū)域內(nèi)定義。對于模塊級變量用Dim語句,對于公共級變量用Public語句
2.模塊是否獨立于工作簿?
答:不,實際上模塊是工作簿的一部分,當(dāng)保存工作簿時,對模塊所做的改變也同時保存下來.
3.為什么不應(yīng)該將所有變量定義為Variant數(shù)據(jù)類型?
答:Variant類型的數(shù)據(jù),占用較多的內(nèi)存,并且影響應(yīng)用程序的性能.