24周年

財(cái)稅實(shí)務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠

安卓版本:8.7.20 蘋果版本:8.7.20

開發(fā)者:北京正保會(huì)計(jì)科技有限公司

應(yīng)用涉及權(quán)限:查看權(quán)限>

APP隱私政策:查看政策>

HD版本上線:點(diǎn)擊下載>

聲明類關(guān)鍵字的應(yīng)用

來源: 編輯: 2009/06/03 10:45:39  字體:

  Private:聲明私有類型的數(shù)據(jù);

  Static:聲明靜態(tài)類型的數(shù)據(jù);

  Dim:聲明數(shù)據(jù)類型;如:Dim myCell As Range

  reDim:定義未顯式聲明的數(shù)組的維數(shù)和元素;

  Const:聲明常量數(shù)據(jù);如:Const limit As Integer = 33

  As:一般用于聲明數(shù)據(jù)類型中的“As Type”子句;

  Type:聲明用戶自定義數(shù)據(jù)類型。

  首先我們先了解下VBA代碼的語法結(jié)構(gòu)。每一種編程語言都有各自的語法組織結(jié)構(gòu),什么內(nèi)容就應(yīng)該放在什么地方。VBA代碼一般都按照事件、過程、函數(shù)、模塊、類模塊等來組織,不管是系統(tǒng)內(nèi)部定義好的還是開發(fā)人員自定義的過程、函數(shù)或模塊,使用前都必須聲明。聲明也就是告訴VBA代碼的編譯器,我下面的程序中會(huì)用到這些變量、過程、函數(shù)和模塊等。聲明分兩種,一種是顯式聲明,也就是將聲明部分代碼明確的寫出來。另一種是非顯式聲明。當(dāng)您的模塊中含有這條語句“Option Explicit”,那么系統(tǒng)就強(qiáng)制規(guī)定您必須顯式聲明該模塊中的所有變量,否則將編譯出錯(cuò)。如果沒有出現(xiàn)上述語句,那么您可以在使用變量前不顯式聲明該變量,系統(tǒng)編譯時(shí)將默認(rèn)該變量類型為Variant。

  聲明語句可以命名和定義過程、變量、數(shù)組以及常數(shù)。當(dāng)聲明一個(gè)過程、變量或常數(shù)時(shí),也同時(shí)定義了它的作用范圍,而此范圍是取決于聲明位置以及用什么關(guān)鍵字來聲明它。先說聲明的位置,如果你在某個(gè)工作表的某個(gè)過程中聲明了一個(gè)變量或函數(shù),那么這個(gè)變量或函數(shù)的作用范圍就局限于這個(gè)過程;如果你在一個(gè)工作表的(通用)部分聲明了一個(gè)變量或函數(shù),那么這個(gè)變量或函數(shù)的作用范圍就局限于該工作表代碼模塊中。這就表明聲明的位置可以決定變量或函數(shù)的作用范圍。除了聲明位置外,采用哪個(gè)關(guān)鍵字也可以決定被聲明對(duì)象的作用范圍。比如,如果你在一個(gè)自定義模塊中,采用PUBLIC這個(gè)關(guān)鍵字來聲明一個(gè)變量,那么這個(gè)變量在所有應(yīng)用程序的所有沒有使用 Option Private Module 的模塊的任何過程中都是可用的(若該模塊使用了 Option Private Module,則該變量只是在其所屬工程中是公用的)。而采用PRIVATE聲明的變量,其作用范圍就只有該模塊內(nèi)部,稱為私有變量。上述兩個(gè)關(guān)鍵字只能在模塊級(jí)別代碼中使用。(所謂模塊級(jí)別就是只在過程外部的代碼,即某個(gè)工作表的部分中寫的代碼,區(qū)別于過程級(jí)別的代碼,即過程中書寫的代碼)除此以外,還有一個(gè)DIM關(guān)鍵字,用這個(gè)關(guān)鍵字可以在模塊級(jí)別中聲明變量,也可以在過程級(jí)別中聲明的變量;前者聲明的變量對(duì)該模塊中的所有過程都是可用的,而后者則只在過程內(nèi)是可用的。STATIC關(guān)鍵字是用來聲明靜態(tài)類型變量的,這是什么意思呢?舉個(gè)例子你就清楚了,一般聲明的過程級(jí)別變量,在程序代碼運(yùn)行完該過程之后,該變量的值就自動(dòng)清空了,該變量也由于所在過程的運(yùn)行完畢而結(jié)束了其生存周期。這樣的過程級(jí)別的變量稱為動(dòng)態(tài)變量。那么有另外一種變量,雖然也是在過程級(jí)別中被聲明的,但在該過程運(yùn)行結(jié)束以后,該變量的值仍然保持不變,直至該變量所在過程所在的模塊運(yùn)行中止為止。這樣的變量就叫做靜態(tài)變量。靜態(tài)變量只能在過程級(jí)別中使用,用于聲明變量并分配存儲(chǔ)空間。在整個(gè)代碼運(yùn)行期間都能保留使用 Static 語句聲明的變量的值,并且其生命周期與包含該過程定義的模塊相同。從作用范圍來講,這類變量由于在過程級(jí)別的代碼中被聲明,因此其作用范圍只是局限于其所在的過程內(nèi)部。如下圖所示:

  正確理解聲明類關(guān)鍵字的用法,對(duì)把握變量、過程、函數(shù)等對(duì)象的作用范圍和生命周期有著非??傄淖饔?。

責(zé)任編輯:zoe
回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - m.jnjuyue.cn All Rights Reserved. 北京正保會(huì)計(jì)科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號(hào)-7 出版物經(jīng)營(yíng)許可證 京公網(wǎng)安備 11010802044457號(hào)