




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8,1,PPT學(xué)習(xí)交流,第8章 模塊,本章要求 了解類模塊和標(biāo)準(zhǔn)模塊的概念 會在模塊中執(zhí)行宏 熟悉VBE界面 掌握變量、常量、運算符和表達式的相關(guān)知識 掌握流程控制語句的書寫和應(yīng)用 掌握過程調(diào)用和參數(shù)傳遞的方法 會調(diào)試程序,2,PPT學(xué)習(xí)交流,8.1 模塊的基本概念 模塊是Access中的一個重要對象,它是以VBA聲明、語句和過程作為一個獨立單元的結(jié)合。每個模塊獨立保存并對應(yīng)于其中的VBA代碼。 模塊分為兩大類:類模塊和標(biāo)準(zhǔn)模塊。 一、類模塊 類模塊是指包含新對象定義的模塊。 當(dāng)用戶新建一個類的實例的同時,也就創(chuàng)建了新的對象,在模塊定義的任何過程都會變成這個對象的屬性和方法。 類模塊分為:窗
2、體模塊、報表模塊和獨立的類模塊,3,PPT學(xué)習(xí)交流,二、標(biāo)準(zhǔn)模塊 標(biāo)準(zhǔn)模塊是指存放整個數(shù)據(jù)庫可用的函數(shù)和過程的模塊。 標(biāo)準(zhǔn)模塊和類模塊的主要區(qū)別在于其范圍和生命周期方面。 三、將宏轉(zhuǎn)換為模塊 Access中,用戶可以根據(jù)需要,將設(shè)計好的宏對象轉(zhuǎn)換成模塊代碼形式。 步驟:在“宏”對象中選擇要轉(zhuǎn)換的宏,執(zhí)行菜單“工具” “宏” “將宏轉(zhuǎn)換為Visual Basic代碼”命令,打開“轉(zhuǎn)換宏”對話框,單擊“轉(zhuǎn)換”按鈕,即可完成宏到模塊的轉(zhuǎn)換。,4,PPT學(xué)習(xí)交流,8.2 創(chuàng)建模塊 一、在模塊中加入過程 過程:是模塊的單元組成,由VBA代碼編寫而成,分為Sub子過程和Function函數(shù)過程。 進入窗體
3、或報表的設(shè)計視圖,單擊工具欄中的“代碼”按鈕,即可進入類模塊的設(shè)計和編輯窗口; 單擊數(shù)據(jù)庫窗體中的“模塊”對象標(biāo)簽,再單擊“新建”按鈕,即可進入標(biāo)準(zhǔn)模塊的設(shè)計和編輯窗口。 模塊的聲明區(qū)域用于聲明模塊使用的變量等項目,每個模塊都包含一個聲明區(qū)域,其中包含一個或幾個Sub子過程或Function函數(shù)過程。,5,PPT學(xué)習(xí)交流,Sub子過程 只執(zhí)行一系列的操作,不返回任何值。格式: Sub 過程名 程序代碼 End Sub Function函數(shù)過程 執(zhí)行一系列操作,有返回值。格式: Function 過程名 As(返回值)類型 程序代碼 End Function Sub子過程可以用Call關(guān)鍵字調(diào)用
4、,F(xiàn)unction函數(shù)過程則不能用Call調(diào)用執(zhí)行,需要直接引用函數(shù)過程名,6,PPT學(xué)習(xí)交流,模塊的創(chuàng)建 創(chuàng)建一個名為“模塊入門”的新模塊,保存為“模塊入門”,7,PPT學(xué)習(xí)交流,過程的創(chuàng)建 在“模塊入門”模塊中創(chuàng)建一個Hello過程,用戶輸入,8,PPT學(xué)習(xí)交流,二、在模塊中執(zhí)行宏 在模塊中執(zhí)行宏,可以使用DoCmd對象的RunMacro方法。 格式: DoCmd.RunMacro MacroName,RepeatCount,RepeatExpression 說明: MacroName表示宏的有效名稱。 RepeatCount用于計算宏運行次數(shù)。 RepeatExpression為數(shù)值表達
5、式,在結(jié)果不等于False(0)時一直進行計算,在結(jié)果等于False時停止運行宏。,9,PPT學(xué)習(xí)交流,8.3 VBA程序設(shè)計基礎(chǔ) 一、面向?qū)ο蟮幕靖拍?對象和集合 對象指由描述該對象屬性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體,可以看成是一個獨立的單元。 集合表示的是某類對象所包含的實例的構(gòu)成。 屬性和方法 屬性是類中用于描述對象特征的數(shù)據(jù),是對客觀世界實質(zhì)性質(zhì)的抽象。 屬性的應(yīng)用方式為:對象.屬性,10,PPT學(xué)習(xí)交流,方法是對象所能執(zhí)行的操作,VBA中的方法由過程或函數(shù)組成。 方法的引用方式為: 對象.方法 Access還提供了一個DoCmd對象,其主要功能是通過調(diào)
6、用內(nèi)部方法來實現(xiàn)VBA對Access中的操作。 調(diào)用格式: DoCmd.OpenReport reportname ,view,filtername,wherecondition 事件是指Access中的對象可以識別的動作,如單擊鼠標(biāo)、窗體等。,11,PPT學(xué)習(xí)交流,Access中,有兩種方式來處理窗體、報表或控件的事件響應(yīng),一種是使用宏對象來設(shè)置事件屬性,另一種是事件過程,即為某個事件編寫VBA代碼過程。 事件過程是指為某個事件編寫VBA代碼過程,完成指定動作。 關(guān)于窗體、報表、命令按鈕控件、標(biāo)簽控件、文本框控件、組合框控件、選項組控件、單選按鈕及復(fù)選框控件的主要事件過程詳見教材P21521
7、6,12,PPT學(xué)習(xí)交流,例:在新建窗體中添加一個命令按鈕,并創(chuàng)建“單擊”事件響應(yīng)過程。,13,PPT學(xué)習(xí)交流,二、Visual Basic編輯環(huán)境 VBE(Visual Basic Editor)是Access提供的編程界面,VBE窗口主要由工具欄、工程窗口、屬性窗口和代碼窗口組成。 標(biāo)準(zhǔn)工具欄如下圖所示,14,PPT學(xué)習(xí)交流,進入VBE編程環(huán)境 Access模塊分為類模塊和標(biāo)準(zhǔn)模塊,它們進入VBE編程環(huán)境的方式也是不同的。 類模塊進入VBE環(huán)境的方法: 單擊窗體“屬性”窗口的“事件”選項卡,單擊任一“事件過程”右側(cè)的“”按鈕,進入“選擇生成器”窗體,選擇“代碼生成器”項,單擊“確定”按鈕,
8、進入VBE編程環(huán)境。 標(biāo)準(zhǔn)模塊進入VBE環(huán)境的方法有3種: 選擇“模塊”對象,雙擊要查看的模塊對象 單擊“新建”按鈕,創(chuàng)建新模塊 執(zhí)行“工具” “宏” “Visual Basic編輯器”命令,15,PPT學(xué)習(xí)交流,VBE界面,工程窗口,屬性窗口,代碼窗口,立即窗口,對象選定器,過程選定器,16,PPT學(xué)習(xí)交流,VBE環(huán)境中編寫VBA代碼 VBA代碼是由語句組成的,一條語句就是一行代碼。 例如: intCount=3 將3賦值給變量intCount Debug.Print intCount 在立即窗口打印變量 intCount的值3 操作時,在代碼窗口左邊組合框選定一個對象后,右邊過程組合框中會
9、列出該對象的所有事件過程,再從該對象事件過程列表選項中選擇某個事件名稱,系統(tǒng)會自動生成相應(yīng)的事件過程模版,用戶添加代碼即可。,17,PPT學(xué)習(xí)交流,程序語句書寫規(guī)則 (1)語句書寫規(guī)定: 通常一個語句寫一行。語句較長,一行寫不下時,可使用續(xù)行符(一個空格加下劃線“_”),將語句連續(xù)寫在下一行。 可以使用冒號(:),將幾個語句分隔寫在一行中。 當(dāng)輸入一行語句并按下回車鍵后,若該行代碼以紅色顯示,則表明改行語句有錯誤,應(yīng)更正。 (2)注釋語句(可以通過以下兩種方式實現(xiàn)) 使用Rem語句,格式為:Rem注釋語句(在語句之后Rem前面要加冒號) 用單引號“”,格式為:注釋語句,18,PPT學(xué)習(xí)交流,(
10、3)采用縮進格式書寫程序 采用正確的縮進格式,以顯示出流程中的結(jié)構(gòu)。也可以利用“編輯”菜單下的“縮進”或“凸出”命令進行設(shè)置。 (4)F1幫助信息 用戶可以將鍵盤光標(biāo)停留在某個語句命令上,按下F1鍵,系統(tǒng)會提供相關(guān)的幫助。,19,PPT學(xué)習(xí)交流,三、數(shù)據(jù)類型和數(shù)據(jù)庫對象 1.標(biāo)準(zhǔn)數(shù)據(jù)類型,VBA數(shù)據(jù)類型列表,20,PPT學(xué)習(xí)交流,2.用戶定義的數(shù)據(jù)類型 不同類型的變量可以組合起來創(chuàng)建用戶定義的數(shù)據(jù)類型。 創(chuàng)建自定義的數(shù)據(jù)類型的語句是Type,用戶自定義類型可包含一個或多個基本數(shù)據(jù)類型的數(shù)據(jù)元素、數(shù)組或一個先前定義的用戶自定義類型。 Type語句的基本格式: Private|Public Typ
11、e 數(shù)據(jù)類型名 元素1 As 數(shù)據(jù)類型 元素2 As 數(shù)據(jù)類型 End Type,21,PPT學(xué)習(xí)交流,例如: 定義一個名稱為MyType的數(shù)據(jù)類型: Type MyType MyName As String*10 定義字符串變量存儲一個名字 MyBirthDate As Date 定義日期變量存儲一個生日 MySex As Integer 定義整型變量存儲性別(0為女,1為男) End Type 聲明變量: Dim NewVal as MyType 引用數(shù)據(jù)(使用“變量名.元素名”的格式): NewVal.MyName=“劉星” NewVal.MyBirthDate=#10/10/1991#
12、 NewVal.MySex=1,22,PPT學(xué)習(xí)交流,3.數(shù)據(jù)庫對象 數(shù)據(jù)庫、表、查詢、窗體和報表等,也有對應(yīng)的VBA對象數(shù)據(jù)類型,這些對象數(shù)據(jù)類型由引用的對象庫定義,常用VBA對象數(shù)據(jù)類型和對象庫中所包括的對象 詳見教材P222 表8-13,23,PPT學(xué)習(xí)交流,四、變量與常量 變量是指程序運行時值會發(fā)生變化的數(shù)據(jù)。 每個變量都有變量名(變量命名不能含有空格或除了下劃線“_“外的任何其他的標(biāo)點符號,長度不能超過255個字符),使用前可以指定數(shù)據(jù)類型(即采用顯式聲明),也可以不指定(即采用隱式聲明)。 常量是在程序中可以直接引用的實際值,其值在程序運行中不變。 VBA中有3種常量:直接常量、符
13、號常量和系統(tǒng)常量。,24,PPT學(xué)習(xí)交流,1.變量的聲明 (1)顯式聲明 格式:Dim 變量名 As 數(shù)據(jù)類型 例如:Dim number As Integer 等價于:Dim number% 可以使用Dim語句在一行中聲明多個變量。 如:Dim intx As Integer,Strz As String 定義了1個整型變量intx和1個字符型變量Strz (2)隱式聲明 格式:變量名=值 例如:Data=123 所有隱式聲明的變量都是Variant數(shù)據(jù)類型。VBA根據(jù)程序中賦予變量的值來自動調(diào)整變量的類型。 Dim I,j,k As integer 只有k是integer型,I與j都是va
14、riant型,25,PPT學(xué)習(xí)交流,2.強制聲明 良好的編程習(xí)慣都應(yīng)該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時也使程序易于調(diào)試。VBA中可以強制顯式聲明,在窗體模塊、標(biāo)準(zhǔn)模塊和類模塊的通用聲明段中加入:Option Explicit,26,PPT學(xué)習(xí)交流,3.變量的作用域 在VBA中,定義變量的位置和方式不同,其存在的時間和作用范圍也不同,也就是它的生命周期和作用域不同。根據(jù)變量的作用域,可把變量分為3種類型:局部變量、模塊變量和全局變量 3種變量的使用規(guī)則與作用域見下表:,27,PPT學(xué)習(xí)交流,變量的作用域和生命周期舉例,x全局變量 y過程變量 z過程靜態(tài)變量,28,PP
15、T學(xué)習(xí)交流,4.數(shù)據(jù)庫對象變量 可以引用Access中的窗體對象和報表對象。 格式:Forms!窗體名稱!控件名.屬性名 Reports!報表名稱!控件名.屬性名 若屬性名稱缺省,則默認(rèn)為控件基本屬性。 例如: Forms!學(xué)生!姓名 =“張域” 若在本窗體的模塊中引用,可以用Me代替Forms!學(xué)生,語句變?yōu)椋?Me!姓名 =“張域” 如果要多次引用某一值,則可用一個變量名代替窗體控件對象。 例如: Dim Name As Control 定義控件類型變量 Set Name= Forms!學(xué)生!姓名 指定引用窗體控件對象 Name=“張域” 操作對象變量,29,PPT學(xué)習(xí)交流,5.數(shù)組 數(shù)組
16、變量由變量名和數(shù)組下標(biāo)組成。 格式:Dim 數(shù)組名(下標(biāo)下限 to下標(biāo)上限) 缺省狀態(tài)下,下標(biāo)下限為0。 例如:Dim Array(5) As String 定義了由6個字符串構(gòu)成的數(shù)組,數(shù)組元素為Array(0),,Array(5)。 Dim Array(1 to 5) As String 定義了由5個字符串構(gòu)成的數(shù)組,數(shù)組元素為Array(1),,Array(5)。 Dim Array(5,5,5) As String 定義了一個多維數(shù)組,包含666個數(shù)組元素,30,PPT學(xué)習(xí)交流,Dim Array() As Integer 定義了一個動態(tài)數(shù)組。在使用動態(tài)數(shù)組時,先不指名數(shù)組元素數(shù)目,需
17、要時再用ReDim關(guān)鍵字定義。當(dāng)不需要使用時,可以用ReDim將其設(shè)置為0,釋放內(nèi)存空間。如:ReDim Array(5,5,5) As Integer 將上面的動態(tài)數(shù)組設(shè)置為666個數(shù)組元素。 6.變量命名規(guī)則 一般用小寫字母作為變量名的第一個字符; 長度小于255個字符; 變量名是字母、數(shù)字與下劃線(_)的組合,并且必須以字母開頭,不區(qū)分大小寫,不能包含其他字符; 不能使用VBA關(guān)鍵字; 在同一作用域內(nèi),變量名必須是唯一的。,31,PPT學(xué)習(xí)交流,7.符號常量 對一些使用較為頻繁的常量,可以用符號常量表示。 格式:Const 符號常量名稱=常量值 例如 定義圓周率: Const PI=3.
18、1415926 注意:符號常量一般要求大寫命名。 8.系統(tǒng)常量 系統(tǒng)定義的常量有7個:True、False、Null、Yes、No、On和Off等,系統(tǒng)常量可以在計算機上的所有應(yīng)用程序中使用。,32,PPT學(xué)習(xí)交流,五、常用標(biāo)準(zhǔn)函數(shù) 標(biāo)準(zhǔn)函數(shù)一般用于表達式中。 格式:函數(shù)名(,參數(shù)3,參數(shù)4,參數(shù)5) 說明:其中函數(shù)名是不可或缺的。參數(shù)可以常量、變量、表達式,參數(shù)個數(shù)也可以根據(jù)需要自行設(shè)定。每個函數(shù)被調(diào)用時,都會返回一個返回值。需要指出的是,函數(shù)的參數(shù)和返回值都有特定的數(shù)據(jù)類型對應(yīng)。 常用函數(shù)分為算術(shù)函數(shù)、字符串函數(shù)、日期/事件函數(shù)、類型轉(zhuǎn)換函數(shù),具體詳見教材P225227。,33,PPT學(xué)習(xí)
19、交流,六、運算符和表達式 1.運算符 1)算術(shù)運算符:,注意:整數(shù)除法()運算,如果操作數(shù)有小數(shù),系統(tǒng)會舍去再運算,如果結(jié)果中有小數(shù)也將舍去;求模運算,如果操作數(shù)有小數(shù),系統(tǒng)會四舍五入再運算,如果被除數(shù)是負(fù)數(shù),余數(shù)也是負(fù)數(shù)。,34,PPT學(xué)習(xí)交流,2)關(guān)系運算符 運算的結(jié)果為邏輯值:True或False,Is關(guān)系運算符用于兩個對象變量引用比較。常用語法為:result=object1 Is object2 如果object1和object2兩者引用相同的對象,result為True,否則為False。,35,PPT學(xué)習(xí)交流,3)邏輯運算符 邏輯運算也稱布爾運算,包括與(And)、或(Or)和非
20、(Not)共3個運算符。 0:False 1:True 邏輯運算符的優(yōu)先級由高到低依次為Not、And、Or。,36,PPT學(xué)習(xí)交流,4)連接運算符 有 & 和 +,連接兩個字符串。 區(qū)別: +(連接運算):兩個操作數(shù)均應(yīng)為字符串類型; &(連接運算):兩個操作數(shù)既可為字符型也可為數(shù)值型,當(dāng)是數(shù)值型時,系統(tǒng)自動先將其轉(zhuǎn)換為數(shù)字字符,然后進行連接操作。 例: “100”+“123” 結(jié)果為 100123 “Abc”+ 123 出錯 “100”& 123 結(jié)果為 100123 100 & 123 結(jié)果為 100123 “Abc”& 123 結(jié)果為 Abc123,37,PPT學(xué)習(xí)交流,2.表達式和優(yōu)
21、先級 表達式:用運算符將常量和變量連接在一起構(gòu)成的式子。 運算符的優(yōu)先級規(guī)則如下: 算術(shù)運算符連接運算符關(guān)系運算符邏輯運算符。 優(yōu)先級相同,按從左向右順序進行。 括號優(yōu)先級最高。,VBA表達式 3*33/3 的輸出結(jié)果為_ (2006.4),9,38,PPT學(xué)習(xí)交流,設(shè)a=2, b=3, c=4, d=5, 則表達式 NOT aa+c 的值為_,5,6,7,False,39,PPT學(xué)習(xí)交流,8.4 VBA流程控制語句 計算機程序的執(zhí)行控制流程有3種基本結(jié)構(gòu):順序結(jié)構(gòu)、條件判斷結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 順序結(jié)構(gòu):順序執(zhí)行程序語句 條件判斷結(jié)構(gòu):按照給定的條件進行判斷,再按判斷結(jié)果分別執(zhí)行程序中不同部分的
22、代碼。 循環(huán)結(jié)構(gòu):按照條件反復(fù)執(zhí)行一系列語句。 根據(jù)循環(huán)的條件,可以把循環(huán)結(jié)構(gòu)分為兩類: 當(dāng)型循環(huán)結(jié)構(gòu):當(dāng)條件成立時,反復(fù)執(zhí)行語句。 直到型循環(huán)結(jié)構(gòu):反復(fù)執(zhí)行語句直到條件成立為止。,40,PPT學(xué)習(xí)交流,三種基本結(jié)構(gòu),41,PPT學(xué)習(xí)交流,三種基本結(jié)構(gòu),42,PPT學(xué)習(xí)交流,一、賦值語句 賦值語句主要用于為變量指定一個值或者表達式,通常以“=”連接。 格式:Let變量名=值或者表達式 Let為可選項 例如:定義一個單精度數(shù)值,并賦值為1.23456。 Dim i as single i=1.23456 二、條件語句 1.單分支結(jié)構(gòu)(IfThen語句) If測試指定的條件,如果條件為真(True
23、),則執(zhí)行Then后面的語句。 格式1:If 條件表達式 Then 語句,43,PPT學(xué)習(xí)交流,格式2: If 條件表達式 Then 語句塊 End If 注意:IfThen的單行格式不用End If。但如果條件表達式為真(True)時,要執(zhí)行多行代碼,則必須使用多行IfThenEnd If語法。 例:已知兩個數(shù)x和y,比較它們的大小,使得x大于y。 If x=80 Then Debug.Print 良好“ ElseIf x=70 Then Debug.Print 中等“ ElseIf x=60 Then Debug.Print 及格 Else Debug.Print 不及格 End If,4
24、9,PPT學(xué)習(xí)交流,4.Select語句 Select Case選擇結(jié)構(gòu):根據(jù)表達式求值結(jié)果,選擇執(zhí)行幾個分支中的一個。 格式: Select Case 條件表達式 Case 表達式1 語句1 Case 表達式2 To 表達式3 語句2 Case Is 關(guān)系運算符表達式4 語句3 Case Else語句n End select,注意: 按照在 Select.Case 結(jié)構(gòu)中出現(xiàn)的順序,將表達式的值和 Case 語句中的值進行比較。 如果發(fā)現(xiàn)一個匹配項或一條 Case Else 語句,則執(zhí)行相應(yīng)的語句塊。 在任何情況下,隨后都會將控制轉(zhuǎn)移到 End Select 語句后面的語句。,50,PPT學(xué)
25、習(xí)交流,說明: 表示可以不包含括號中的內(nèi)容。 表達式列表的形式有以下3種: Case表達式:如Case10,15,判斷測試表達式的值是否為10或15。 Case表達式1 To 表達式2:如Case 10 To 15,判斷測試表達式的值是否在1015之間。 Case Is關(guān)系運算符表達式:如Case Is0,1,x=0,0,x0,1) 根據(jù)x的值來為y賦值 (3)Choose語句 格式:Choose(索引式,選項1,選項2,選項n) 說明:Choose語句是根據(jù)“索引式”的值來返回選項列表的某個值?!八饕健敝禐?,則返回“選項1”的值,“索引式”值為n,則返回“選項n”的值。 如:Y=Choo
26、se(x,7,5,9) 根據(jù)x的值,為變量Y賦值 教材P234 例8-13涉及If語句的嵌套使用,練習(xí)并理解,54,PPT學(xué)習(xí)交流,三、循環(huán)語句 1.ForNext語句 ForNext循環(huán)結(jié)構(gòu):將一段程序重復(fù)執(zhí)行指定的次數(shù),其中使用一個計數(shù)變量,統(tǒng)計執(zhí)行的次數(shù)。 格式:For 循環(huán)變量=初值 To 終值Step步長 語句組1 Exit For 語句組2 Next循環(huán)變量 功能:循環(huán)變量先被賦初值。判斷循 環(huán)變量是否在終值內(nèi),如果是,執(zhí)行 循環(huán)體,然后循環(huán)變量加步長值繼續(xù) ;如果否,結(jié)束循環(huán),執(zhí)行Next后的語句,55,PPT學(xué)習(xí)交流,說明: 1)循環(huán)控制變量的類型必須是數(shù)值型。 2)步長可以是
27、正數(shù)(終值應(yīng)大于初值),也可以是負(fù)數(shù)(終值小于初值),如果步長為1,Step參數(shù)可以省略。步長不能為0,否則造成“死循環(huán)” 3)根據(jù)初值、終值和步長,可以計算出循環(huán)的次數(shù),因此For語句一般用于循環(huán)次數(shù)已知的情況。 4)使用Exit For語句可以提前退出循環(huán)。 如:Dim i as integer,Sum as integer Sum=0 For i=1 to 10 Sum=Sum+i Next i 計算整數(shù)110的和,56,PPT學(xué)習(xí)交流,例:假定有以下程序段 (2005.9) n=0 for i=1 to 3 for j=-4 to -1 n=n+1 next j next i 運行完畢
28、后,n的值是 A)0 B)3 C)4 D)12,Right!,57,PPT學(xué)習(xí)交流,2.Do WhileLoop語句和DoLoop While語句 格式1:(先判斷條件是否成立,再開始循環(huán)) Do While|Until 條件表達式 語句 Exit Do 語句 Loop Do WhileLoop循環(huán)結(jié)構(gòu):先判斷后執(zhí)行,有可能一次也不執(zhí)行。While關(guān)鍵字用于指明條件為真時執(zhí)行循環(huán)體內(nèi)語句;Until當(dāng)條件為假時,執(zhí)行循環(huán)體內(nèi)語句?!皘”表示括號內(nèi)任意一個。,58,PPT學(xué)習(xí)交流,格式2:先循環(huán),再判斷條件是否成立。 Do 語句 Exit Do 語句 Loop While|Until 條件表達式
29、 DoLoop While循環(huán)結(jié)構(gòu):先執(zhí)行后判斷,循環(huán)語句至少執(zhí)行一次;While關(guān)鍵字用于指明條件為真時執(zhí)行循環(huán)體內(nèi)語句;Until當(dāng)條件為假時,執(zhí)行循環(huán)體內(nèi)語句。 注意:在循環(huán)體中必須有修改循環(huán)變量的語句,如n=n+1,否則循環(huán)條件始終不發(fā)生改變,循環(huán)將永遠(yuǎn)不會結(jié)束,即死循環(huán)。,59,PPT學(xué)習(xí)交流,例:單擊窗體,消息框的結(jié)果為_ (2006.4) Private Sub Form_Click() Dim x as Integer, y as Integer x=2: y=4 Do x=x*y y=y+1 Loop while y6 num=num+2.4 Loop MsgBox num
30、End Sub,num=1 num=3.4 num=5.8 num=8.2,此種結(jié)構(gòu),先判斷條件,再執(zhí)行循環(huán)體,當(dāng)until后的條件表達式為假時,執(zhí)行循環(huán)體,為真時,跳出循環(huán)體。,61,PPT學(xué)習(xí)交流,3.WhileWend語句 格式:While 條件表達式 語句 Wend WhileWend語句與Do WhileLoop結(jié)構(gòu)類似,當(dāng)條件滿足時,執(zhí)行循環(huán)體,只是在循環(huán)體內(nèi)不能使用Exit Do語句。 四、GoTo語句 GoTo語句用于實現(xiàn)無條件跳轉(zhuǎn)。 格式:GoTo 標(biāo)號 標(biāo)號: 注意:標(biāo)號名字從代碼行的最左列開始寫。一般不建議用GoTo語句。,62,PPT學(xué)習(xí)交流,8.5 過程調(diào)用和參數(shù)傳遞
31、 在VBA中,過程是由一系列可以完成某項指定的操作、計算語句和方法組成。根據(jù)過程是否返回值,分為Sub過程和Function過程。 一、過程調(diào)用 1.過程的定義和調(diào)用(用Sub語句聲明一個新的過程) 格式:Public|PrivateStatic Sub 過程名(參數(shù) As 數(shù)據(jù)類型 過程語句 Exit Sub 過程語句 End Sub 使用Public關(guān)鍵字可以使該過程適用于所有模塊中的所有其他過程;用Private關(guān)鍵字則使該程序只適用于同一模塊中的其他過程。,63,PPT學(xué)習(xí)交流,過程調(diào)用形式有以下兩種: Call過程名(實參) 過程名(實參) 例:先編寫一個子過程“MsgBox”,然后
32、寫成調(diào)用該子過程的語句。 程序代碼: Sub MsgBox(FormName as String) MsgBox“請輸入用戶名!”,vbOKOnly+vbInformation,“提示” End Sub 調(diào)用名為“登陸”的窗體,可以用下列語句 Call Sub MsgBox(“登陸”),64,PPT學(xué)習(xí)交流,2.函數(shù)的定義和調(diào)用 用Function語句可以聲明一個新函數(shù),它接受參數(shù)、返回變量類型及運行該函數(shù)過程的代碼。 格式: Public|PrivateStatic Function 函數(shù)名(參數(shù)) As 數(shù)據(jù)類型 函數(shù)語句 函數(shù)名=表達式 Exit Function 函數(shù)語句 函數(shù)名=表達
33、式 End Function 說明:對函數(shù)使用Public關(guān)鍵字,則所有模塊的過程都可以調(diào)用它。 用Private關(guān)鍵字使這個函數(shù)只適用于同一模塊中的其他過程;當(dāng)把一個函數(shù)說明為模塊中的私有函數(shù)時,就不能從查詢、宏或另一個模塊中的函數(shù)這個函數(shù)。 包含Static關(guān)鍵字時,只要含有這個過程的模塊是打開的,則所有在這個過程中的顯式和隱含說明的變量值都將被保留。 函數(shù)的調(diào)用:變量名 = 函數(shù)過程名(參數(shù)列表),65,PPT學(xué)習(xí)交流,Private Sub CmdOK() Call S) S End Sub,Private Sub S%) Dim temp% Temp=X X=Y Y=Temp End
34、 Sub,示例 過程調(diào)用的執(zhí)行過程:,66,PPT學(xué)習(xí)交流,二、參數(shù)傳遞 過程或函數(shù)定義可以設(shè)置一個或多個參數(shù),這個參數(shù)稱為形參,多個參數(shù)之間用逗號分隔。 格式: OptionalByVal|ByRefParamArray Varname ()As type=Defaultvalue 各參數(shù)的含義: Varname:必須的,形參名稱。遵循標(biāo)準(zhǔn)的變量命名約定 Type:可選項,傳遞給該過程的參數(shù)的數(shù)據(jù)類型 Optional:可選項,表示參數(shù)不是必須的。如果使用了 ParamArray,則任何參數(shù)都不能使用Optional ByVal:可選項,表示該參數(shù)按值傳遞 ByRef:可選項,表示該參數(shù)按地址傳遞。ByRef是VBA的缺省選項,67,PPT學(xué)習(xí)交流,含參數(shù)的過程被調(diào)用時,主調(diào)用過程中的調(diào)用式必須提供相應(yīng)的實參(實際參數(shù)的簡稱),并通過實參向形參傳遞的方式完成過程操作。 關(guān)于實參向形參的數(shù)據(jù)傳遞,還想了解
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樓盤變廢為寶活動方案
- 桐鄉(xiāng)八年級數(shù)學(xué)活動方案
- 油田插花活動方案
- 植樹節(jié)樹木掛牌活動方案
- 殷都區(qū)安全教育活動方案
- 校長講安全活動方案
- 水泥廠東宿舍活動方案
- 森林沙龍活動方案
- 民營企業(yè)家聯(lián)誼活動方案
- 氣墊抽獎活動方案
- 河北省石家莊市2025年七年級下學(xué)期語文期末考試卷及答案
- 四川省德陽市2025年七年級下學(xué)期語文期末試卷及答案
- 石獅子購銷合同協(xié)議
- 2025廣州市荔灣區(qū)輔警考試試卷真題
- 課題申報書:基于核心素養(yǎng)發(fā)展理念的小學(xué)數(shù)學(xué)跨學(xué)科主題學(xué)習(xí)設(shè)計的策略研究
- 模聯(lián)面試題及答案
- 上海市楊浦區(qū)2025屆高三語文一模質(zhì)量調(diào)研試卷(含答案)
- 貴州省遵義市2024年八年級《數(shù)學(xué)》上學(xué)期期末試題與參考答案
- 隔壁拆房相鄰協(xié)議書
- GB/T 320-2025工業(yè)用合成鹽酸
- 2025(人教版)小升初數(shù)學(xué)總復(fù)習(xí) 知識點總結(jié)+專項練習(xí)(含答案)
評論
0/150
提交評論