




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
V B A 語 言 基 礎(chǔ) 簡 介VisualBasicApplication這里只做一些vba最根本的介紹,很多函數(shù),過程的具體使用不行能一一說明,同學(xué)們參考vba第一節(jié)標(biāo)識(shí)符一.定義標(biāo)識(shí)符是一種標(biāo)識(shí)變量、常量、過程、函數(shù)、類等語言構(gòu)成單位的符號(hào),利用它可以完成對變量、常量、過程、函數(shù)、類等的引用;二.命名規(guī)章字母打頭,由字母、數(shù)字和下劃線組成,如A987b_23Abc字符長度小于40不 能 與 VB 保 留 字 重 名 , public,private,dim,goto,next,with,integer,single等其次節(jié)運(yùn)算符定義:運(yùn)算符是代表VB某種運(yùn)算功能的符號(hào);1=數(shù)學(xué)運(yùn)算符&、+字符連接符、+加、-減、Mod取余、\整除、乘、/除、-負(fù)號(hào)、^指數(shù)Not非、AndOrXorEqvImp關(guān)系運(yùn)算符=一樣、<>不等、>大于、<小于、>=不小于、<=不大于、Like、Is位運(yùn)算符臨時(shí)可不看位運(yùn)算Not規(guī)律非、And規(guī)律與、Or規(guī)律或、Xor規(guī)律異或、Eqv規(guī)律等、Imp隱含第三節(jié)數(shù)據(jù)類型VBA共有12種數(shù)據(jù)類型,具體見下表,此外用戶還可以依據(jù)以下類型用Type自定義數(shù)據(jù)類型;數(shù)據(jù)類型類型標(biāo)識(shí)符字節(jié)String$0-65400Byte無1Boolean無2Integer%2Long&4Single4DateCurrency無88100/1/1-9999/12/318Decimal無14Variant無以上任意類型,可變Object無4第四節(jié)變量與常量1VBA在模塊通用說明部份,參與OptionExplicit語句可以強(qiáng)迫用戶進(jìn)展變量定義;變量定義語句及變量作用域Dim 變量as類型”定義為局部變量,如Dim xyzasintegerPrivate 變量as類型”定義為私有變量,如PrivatexyzasbytePublic變量as類型”定義為公有變量,如PublicxyzassingleGlobal變量as類型”定義為全局變量,如GloblalxyzasdateStatic變量as類型”定義為靜態(tài)變量,如Static xyzasdouble一般變量作用域的原則是,那部份定義就在那部份起作用,模塊中定義則在該模塊那作用;常量為變量的一種特例,用Const定義,且定義時(shí)賦值,程序中不能轉(zhuǎn)變值,作用域也如同變量作用域;如下定義:ConstPi=3.1415926assingle第五節(jié)數(shù)組數(shù)組是包含一樣數(shù)據(jù)類型的一組變量的集合,對數(shù)組中的單個(gè)變量引用通過數(shù)組索引下標(biāo)進(jìn)展;在內(nèi)存中表現(xiàn)為一個(gè)連續(xù)的內(nèi)存塊,必需用Global或Dim語句來定義;定義規(guī)章如下:Dim數(shù)組名lowertoupper,lowertoupper,….astype;Lower缺省值為0;二維數(shù)組是按行列排列,如DimX9asString聲明白一個(gè)10個(gè)元素的數(shù)組,X0~X9,假設(shè)沒有指定lower,則默認(rèn)lower=0;再例如DimMyArray10,10AsInteger,是個(gè)1111整數(shù)數(shù)組除了以上固定數(shù)組外,VBA明;在程序中再利用Redim語句來重轉(zhuǎn)變數(shù)組大小,原來數(shù)組內(nèi)容可以通過加preserveDimarray1asdouble:Redimarray15:array13=250:Redimpreservearray15,10第六節(jié)注釋和賦值語句注釋語句是用來說明程序中某些語句的功能和作用,注釋語句不會(huì)被執(zhí)行;VBA中有兩種方法標(biāo)識(shí)為注釋語句;單引號(hào)’;如:’定義全局變量;可以位于別的語句之尾,也可單獨(dú)一行Rem;如:Rem定義全局變量;只能單獨(dú)一行賦值語句是進(jìn)展對變量或?qū)ο髮傩再x值的語句 ,承受賦值號(hào)=,如X=123:Form1.caption=”我的窗口”對對象的賦值承受:setmyobject=object或myobject:=object第七節(jié)書寫標(biāo)準(zhǔn)1VBA不區(qū)分標(biāo)識(shí)符的字母大小寫,一律認(rèn)為是小寫字母;最好以行只寫一條語句;一行可以書寫多條語句,各語句之間以冒號(hào):分開;一條語句可以多行書寫,以空格加下劃線_來標(biāo)識(shí)下行為續(xù)行;標(biāo)識(shí)符最好能簡潔明白,不造成歧義;1If…Then…Else語句IfconditionThenstatementsElseelsestatementsconditioncondition為真True,就執(zhí)行Then后面的statementsFalseelsestatements2:Ifx>250Thenx=x-100或者,可以使用塊形式的語法,即If…Then…Else語句可以嵌套:IfconditionThenstatementsElseIfcondition-nThenelseifstatements...ElseelsestatementsEndIf如1:IfNumber<10ThenDigits=1ElseIfNumber<100ThenDigits=2ElseDigits=3EndIf2SelectCase…Case…EndCase語句如1:Pid的取值來打算執(zhí)行不同的語句SelectCasePidCase“A101”Price=200‘當(dāng)Pid的實(shí)際值是“A101”,就執(zhí)行Price=200.后面的以此類推Case“A102”Price=300……CaseElsePrice=900EndCase第九節(jié)循環(huán)語句1ForNext語句以指定次數(shù)來重復(fù)執(zhí)行一組語句Forcounter=startToendStepstepstatementsExitForstatementsNextcounter
”step1如1:for語句也可以嵌套,如下,兩重for循環(huán)ForWords=10To1Step-1 ”建立10次循環(huán)ForChars=0To9 ”建立10次循環(huán)MyString=MyString&Chars NextChars ”IncrementcounterMyString=MyString&““NextWords
”添加一個(gè)空格2ForEach…Next語句主要功能是對一個(gè)數(shù)組或集合對象進(jìn)展,讓全部元素重復(fù)執(zhí)行一次語句其作用就是遍歷一遍數(shù)組或集合對象中的全部元素ForEachelementIngroup‘group必要參數(shù);對象集合或數(shù)組的名稱用戶定義類型的數(shù)組除外;StatementsExitforStatementsNextelement1:ForEachrang2Inrange1Werior.colorindex=6.pattern=xlSolidEndwithNext這上面一例中用到了With…EndWith語句,目的是省去對象屢次調(diào)用,加快速度;語法為:WithobjectstatementsEndWith3Do…looptrueDo{while|until}condition義,不多說啦StatementsExitdoStatementsLoop或者使用下面語法
”while為當(dāng)型循環(huán),until為直到型循環(huán),顧名思Do doStatementsExitdoStatementsLoop{while|until}condition4while…wendTRUE,循環(huán)就執(zhí)行如下例:whileconditionstatementswend
‘whileI<50‘I=I+1第十節(jié)其他類語句和錯(cuò)誤語句處理這節(jié)可以省略,感興趣的話可以看看一.其他循環(huán)語句構(gòu)造化程序使用以上推斷和循環(huán)語句已經(jīng)足夠,建議不要輕易使用下面的語句,雖VBAGotolinelineOnexpressiongosubdestinatioinlist或者onexpressiongotodestinationlistexprssionGosubline…line…Return語句,Return返回到Gosubline行,如下例:SubgosubtryDimnumNum=inputbox“輸入一個(gè)數(shù)字,此值將會(huì)被推斷循環(huán)”Ifnum>0thenGosubRoutine1:Debug.printnum:ExitsubRoutine1:Num=num/5ReturnEndsub‘Wend二.錯(cuò)誤語句處理執(zhí)行階段有時(shí)會(huì)有錯(cuò)誤的狀況發(fā)生,利用OnError語句來處理錯(cuò)誤,啟動(dòng)一個(gè)錯(cuò)誤的處理程序;語法如下:OnErrorGotoLine ‘當(dāng)錯(cuò)誤發(fā)生時(shí),會(huì)馬上轉(zhuǎn)移到line行去OnErrorResumeNextOnErroGoto0處理過程
‘當(dāng)錯(cuò)誤發(fā)生時(shí),會(huì)馬上轉(zhuǎn)移到發(fā)生錯(cuò)誤的下一行去‘當(dāng)錯(cuò)誤發(fā)生時(shí),會(huì)馬上停頓過程中任何錯(cuò)誤第十一節(jié)過程和函數(shù)過程是構(gòu)成程序的一個(gè)模塊,往往用來完成一個(gè)相對獨(dú)立的功能;過程可以使程序更清楚、更具構(gòu)造性;VBASubFunctionPropertyEvent一.Sub過程Sub過程的參數(shù)有兩種傳遞方式:按值傳遞ByVal和按地址傳遞ByRef;如下例:SubpasswordByValxasinteger,ByRefyasintegerIfy=100theny=x+yelsey=x-yx=x+100EndsubSubcall_passwordDimx1asintegerDimy1asintegerx1=12y1=100Callpasswordx1,y12…debug.printx1,y1Endsub二.Function函數(shù)
‘調(diào)用過程方式:1.Call12…;21,參數(shù)12、112,y1x1函數(shù)實(shí)際是實(shí)現(xiàn)一種映射,它通過確定的映射規(guī)章,完成運(yùn)算并返回結(jié)果;參數(shù)ByValByRef;如下例:FunctionpasswordByValxasinteger,byrefyasintegerasbooleanIfy=100theny=x+yelsey=x-yx=x+100ify=150thenpassword=trueelsepassword=falseEndFunctionSubcall_passwordDimx1asintegerDimy1asintegerx1=12y1=100ifpasswordthendebug.printx1endifEndsub
‘調(diào)用函數(shù):1.作為一個(gè)表達(dá)式放在=右端;2.作為參數(shù)使用三.Property屬性過程和Event大事過程這是VB在對象功能上添加的兩個(gè)過程,與對象特征親熱相關(guān),也是VBA比較重要組成,技術(shù)比較簡潔,可以參考相關(guān)書籍;我們的試驗(yàn)不涉及這兩局部第十二節(jié)內(nèi)部函數(shù)在VBA作;這局部重要是供我們查閱,直接使用的;一般要留意某個(gè)函數(shù)的需要輸入的參數(shù)是什么類型的,函數(shù)的返回值又是什么類型的一.測試函數(shù)IsNumericxIsDatex
‘是否為數(shù)字,返回Boolean結(jié)果,TrueorFalseBoolean,TrueorFalseIsEmptyxIsArrayxIsErrorexpression
‘是否為Empty,返回Boolean結(jié)果,TrueorFalse‘指出變量是否為一個(gè)數(shù)組;‘指出表達(dá)式是否為一個(gè)錯(cuò)誤值IsNullexpression ‘指出表達(dá)式是否不包含任何有效數(shù)據(jù)Null;IsObjectidentifier二.?dāng)?shù)學(xué)函數(shù)
‘指出標(biāo)識(shí)符是否表示對象變量SinX、CosX、TanX、Atanx三角函數(shù),單位為弧度LogxxExpxexAbsx返回確定值Intnumber、Fixnumber都返回參數(shù)的整數(shù)局部,區(qū)分:Int將-8.4轉(zhuǎn)換成-9,而Fix將-8.4-8Sgnnumber返回一個(gè)VariantInteger,指出參數(shù)的正負(fù)號(hào)SqrnumberDouble,指定參數(shù)的平方根VarTypevarnameInteger,指出變量的子類型Rndx0-1,x三.字符串函數(shù)TrimstringLtrimstringRtrimstringLenstringLeftstring,xRightstring,x
string左右兩端空白stringstringstringstringxstringxMidstring,start,xUcasestringLcasestring
stringstartx轉(zhuǎn)換為大寫轉(zhuǎn)換為小寫SpacexAscstringChrcharcodeCBoolexpressionCByteexpressionCCurexpressionCDateexpressionCDblexpressionCDecexpressionCIntexpressionCLngexpressionCSngexpressionCStrexpressionCVarexpressionValstringStrnumber
返回x返回一個(gè)integer,代表字符串中首字母的字符代碼返回string,其中包含有與指定的字符代碼相關(guān)的字符BooleanByteCurrencyDateDoubleDecemalIntegerLongSingleStringVariant轉(zhuǎn)換為數(shù)據(jù)型String五.時(shí)間函數(shù)Now
VariantDate,依據(jù)計(jì)算機(jī)系統(tǒng)設(shè)置的日期
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大二財(cái)務(wù)會(huì)計(jì)試題及答案
- 豪邦物業(yè)考試試題及答案
- 電氣配線施工方案
- 低代碼無代碼應(yīng)用案例
- 4年級(jí)下冊讀書筆記20篇十萬個(gè)為什么
- arctanx的n階導(dǎo)數(shù)求法
- 2025年電子商務(wù)C2C項(xiàng)目發(fā)展計(jì)劃
- 2025年仙桃職業(yè)學(xué)院單招職業(yè)技能測試題庫一套
- 2025年云南商務(wù)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- 2025年西安醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫附答案
- 2025屆福建省莆田高中畢業(yè)班第二次質(zhì)量檢測英語試題(原卷版+解析版)
- 2025春蘇少版(2024)美術(shù)小學(xué)一年級(jí)下冊第二單元《有趣的肌理》教學(xué)設(shè)計(jì)
- 2025年安徽財(cái)貿(mào)職業(yè)學(xué)院單招職業(yè)技能考試題庫及完整答案一套
- 2025年安徽中醫(yī)藥高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫有答案
- 2025年無錫職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫完整版
- 2025年皖西衛(wèi)生職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案1套
- 2025年山東省泰安市東平縣中考一模物理試題附參考答案
- 《馬云創(chuàng)業(yè)經(jīng)歷》課件
- 常用量具使用方法課件
- 2024年05月安徽農(nóng)商銀行系統(tǒng)社會(huì)招考計(jì)算機(jī)法律專業(yè)員工人員筆試歷年參考題庫附帶答案詳解
- 騰訊云人工智能工程師認(rèn)證考試題(附答案)
評論
0/150
提交評論