版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章VBA程序設(shè)計(jì)VBAVBA(VisualBasicApplications)是Microsoft公司Office系列軟件中內(nèi)置的用來開發(fā)應(yīng)用系統(tǒng)的編程語(yǔ)言。VBA和宏都可以實(shí)現(xiàn)Access操作的自動(dòng)化。宏本身是一種控制方式簡(jiǎn)單的程序,它由Access提供的命令實(shí)現(xiàn);而VBA程序則需要用戶自行編寫。VBA的編程步驟創(chuàng)建用戶界面設(shè)置對(duì)象屬性在窗體設(shè)計(jì)視圖中,通過對(duì)象的屬性表進(jìn)行設(shè)置;通過程序代碼進(jìn)行設(shè)置。編寫對(duì)象事件過程運(yùn)行和調(diào)試保存窗體保存窗體對(duì)象時(shí),不僅保存了窗體及控件,而且還保存了相關(guān)的事件代碼。VBA的編程環(huán)境編寫和調(diào)試VBA程序的環(huán)境被稱為VBE(VisualBasicEditor)。Access數(shù)據(jù)庫(kù)中的程序模塊類型編輯綁定型程序模塊綁定型程序模塊是指包含在窗體、報(bào)表、頁(yè)等數(shù)據(jù)庫(kù)對(duì)象之中的事件處理過程,這類程序模塊僅在所屬對(duì)象處于活動(dòng)狀態(tài)下才有效。編輯獨(dú)立程序模塊獨(dú)立程序模塊是指Access數(shù)據(jù)庫(kù)中的“模塊”對(duì)象。這類模塊對(duì)象可以在數(shù)據(jù)庫(kù)中被任意一個(gè)對(duì)象所調(diào)用。編輯獨(dú)立程序模塊的操作步驟在數(shù)據(jù)庫(kù)設(shè)計(jì)視圖中選擇“模塊”對(duì)象。單擊數(shù)據(jù)庫(kù)設(shè)計(jì)視圖中的“新建”按鈕,或選擇“工具”菜單中的“宏”→“VisualBasic編輯器”命令,啟動(dòng)VBE。
VBE工作環(huán)境工具欄VBE有調(diào)試工具欄、編輯工具欄、標(biāo)準(zhǔn)工具欄和用戶窗體工具欄等多種工具欄,可以通過單擊工具欄按鈕完成指定的動(dòng)作。工程資源管理器窗口一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)就是一個(gè)工程。工程資源管理器窗口以層次結(jié)構(gòu)列表形式顯示當(dāng)前數(shù)據(jù)庫(kù)中的所有模塊,雙擊該窗口中的某個(gè)模塊,可以打開其對(duì)應(yīng)的代碼窗口。
VBE工作環(huán)境屬性窗口屬性窗口列出了選定對(duì)象的屬性,可以在設(shè)計(jì)時(shí)查看、改變這些屬性。屬性窗口的窗口部件主要有對(duì)象框和屬性列表,其中“對(duì)象框”用于顯示當(dāng)前窗體中的對(duì)象。對(duì)象瀏覽器窗口對(duì)象瀏覽器用于顯示對(duì)象庫(kù)以及工程中的可用類、屬性、方法、事件及常數(shù)變量??梢杂盟鼇硭阉骷笆褂靡延械膶?duì)象,或是來源于其他應(yīng)用程序的對(duì)象。代碼窗口代碼窗口的“對(duì)象框”顯示了所選對(duì)象的名稱,單擊其右側(cè)的下箭頭,可以查看和選擇當(dāng)前窗體的對(duì)象;“過程/事件框”顯示了所選對(duì)象的事件,單擊其右側(cè)的下箭頭,可以查看和選擇事件。自動(dòng)顯示提示信息立即窗口監(jiān)視窗口模塊Access模塊是將VBA聲明和過程作為一個(gè)單元進(jìn)行保存的集合。模塊中的代碼都是以過程的形式加以組織的,每一個(gè)過程都可以是子過程(即Sub過程)或函數(shù)過程(即Function過程)。根據(jù)模塊使用情況的不同,可以將模塊分成標(biāo)準(zhǔn)模塊和類模塊兩種類型。標(biāo)準(zhǔn)模塊與類模塊的主要區(qū)別在于其作用范圍和生命周期的不同。標(biāo)準(zhǔn)模塊標(biāo)準(zhǔn)模塊一般用于存放公共過程(子過程和函數(shù)過程),不與其他任何Access對(duì)象相關(guān)聯(lián)。在Access中,通過模塊對(duì)象創(chuàng)建的代碼過程就是標(biāo)準(zhǔn)模塊。在標(biāo)準(zhǔn)模塊中,通常為整個(gè)應(yīng)用系統(tǒng)設(shè)置全局變量或可以在數(shù)據(jù)庫(kù)中任何位置運(yùn)行的通用過程,以供窗體或報(bào)表等對(duì)象在類模塊中調(diào)用。反之,在標(biāo)準(zhǔn)模塊的過程中也可以調(diào)用窗體或運(yùn)行宏等數(shù)據(jù)庫(kù)對(duì)象。標(biāo)準(zhǔn)模塊中的公共變量和公共過程具有全局性,其作用范圍為整個(gè)應(yīng)用系統(tǒng)。類模塊類模塊是指與某個(gè)特定對(duì)象有關(guān)的模塊。窗體模塊和報(bào)表模塊都是與特定窗體或報(bào)表對(duì)象相關(guān)聯(lián)的,因此它們都屬于類模塊。窗體模塊和報(bào)表模塊通常都含有事件過程,它們通過事件過程來響應(yīng)用戶的操作,從而控制窗體或報(bào)表的行為。窗體模塊或報(bào)表模塊中的過程可以調(diào)用已經(jīng)添加到標(biāo)準(zhǔn)模塊中的過程。當(dāng)用戶為窗體或報(bào)表創(chuàng)建第一個(gè)事件過程時(shí),Access將自動(dòng)創(chuàng)建與之關(guān)聯(lián)的窗體模塊或報(bào)表模塊。子過程的組成子過程均以關(guān)鍵詞Sub開始,以EndSub結(jié)束,其語(yǔ)句格式為:Sub<子過程名>([<形參>])[As<數(shù)據(jù)類型>][<子過程語(yǔ)句>][ExitSub][<子過程語(yǔ)句>]EndSub子過程的調(diào)用子過程有以下兩種調(diào)用形式: Call
子過程名([<實(shí)參>]) 或 子過程名([<實(shí)參>])函數(shù)過程的組成函數(shù)過程以關(guān)鍵詞Function開始,以EndFunction結(jié)束,其語(yǔ)句格式為:Function<函數(shù)過程名>([<形參>])[As<數(shù)據(jù)類型>][<函數(shù)過程語(yǔ)句>][<函數(shù)過程名>=<表達(dá)式>][ExitFunction][<函數(shù)過程語(yǔ)句>][<函數(shù)過程名>=<表達(dá)式>]EndFunction函數(shù)過程的調(diào)用函數(shù)過程的調(diào)用形式為: 函數(shù)過程名([<實(shí)參>])函數(shù)過程需要直接使用函數(shù)過程名(即函數(shù)名)并加括號(hào)來調(diào)用,不能使用Call語(yǔ)句調(diào)用。因?yàn)楹瘮?shù)過程有返回值,所以可以將其返回值直接賦給某個(gè)變量或在表達(dá)式中直接使用。面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念VBA是面向?qū)ο蟮木幊陶Z(yǔ)言,對(duì)象是VBA程序設(shè)計(jì)的核心。數(shù)據(jù)庫(kù)、窗體、控件等都屬于對(duì)象范疇。對(duì)象具有屬性、方法和事件。對(duì)象對(duì)象是為了方便數(shù)據(jù)和代碼的管理而提出的一個(gè)概念。在VBA中,對(duì)象是封裝有數(shù)據(jù)和代碼的客體,它是代碼和數(shù)據(jù)的組合,可將它看作單元。每個(gè)對(duì)象由類來定義。屬性屬性定義了對(duì)象的特征(如:對(duì)象的大小、屏幕位置、顏色等)或某些行為(如:對(duì)象是否可見等),通過修改對(duì)象的屬性值可以改變對(duì)象的特性。在VBA程序中可通過以下命令格式修改對(duì)象的屬性值:對(duì)象名.屬性名=新的屬性值方法方法指的是對(duì)象能執(zhí)行的動(dòng)作。例如:Add是ComboBox對(duì)象的方法,它的作用是為下拉式列表增加一個(gè)列表項(xiàng)。事件事件是對(duì)象可以辨認(rèn)的動(dòng)作。比如:打開、裝載、單擊、雙擊等,可以針對(duì)此類動(dòng)作編寫相應(yīng)的程序代碼,以響應(yīng)用戶的動(dòng)作或系統(tǒng)行為。對(duì)象集合對(duì)象集合是包含幾個(gè)其他對(duì)象的對(duì)象,而這些對(duì)象通常具有相同的類型。需注意的是,集合本身也是對(duì)象,它有自己的方法和屬性。如果對(duì)象集合中的對(duì)象共享共同的方法,則可以對(duì)整個(gè)對(duì)象集合進(jìn)行統(tǒng)一操作。VBA的數(shù)據(jù)類型除“備注”和“OLE對(duì)象”數(shù)據(jù)類型以外,Access數(shù)據(jù)表中字段所使用的數(shù)據(jù)類型在VBA中都有對(duì)應(yīng)的類型。VBA中的數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字符號(hào)前綴有效值范圍默認(rèn)值字節(jié)型Byte無Bty0~2550整型Integer%Int-32768~327670長(zhǎng)整型Long&Lng-2147483648~21474836470單精度型Single!Sng-3.4×1038~3.4×10380雙精度型Double#Dbl-1.79769×10308~1.79769×103080貨幣型Currency@Cur-922,337,203,685,477.5808~922,337,203,685,477.58070字符型String$Str根據(jù)字符串長(zhǎng)度而定""日期/時(shí)間型Date無Dtm日期:100年1月1日~9999年12月31日時(shí)間:0:00:00到23:59:590邏輯型Boolean無BlnTrue或FalseFalse對(duì)象型Object無ObjEmpty變體型Variant無Var數(shù)值類型Integer型和Long型:用于保存整數(shù)。整數(shù)的運(yùn)算速度快,但表示數(shù)的范圍小。例如:將45678保存在Integer型變量中將會(huì)發(fā)生溢出錯(cuò)誤。Single型和Double型:用于保存浮點(diǎn)實(shí)數(shù),表示數(shù)的范圍大。Currency型:用于保存定點(diǎn)實(shí)數(shù),保留小數(shù)點(diǎn)右邊4位和小數(shù)點(diǎn)左邊15位,用于貨幣計(jì)算。Byte型:用于存儲(chǔ)二進(jìn)制數(shù)。字符類型字符型數(shù)據(jù)用于存放字符串。字符串是放在英文雙引號(hào)內(nèi)的若干個(gè)字符,這些字符可以是ASCII字符或漢字。長(zhǎng)度為0的字符串""被稱為空字符串。VB中的字符串分為兩種,即變長(zhǎng)字符串和定長(zhǎng)字符串。變長(zhǎng)字符串的長(zhǎng)度是不確定的,最大長(zhǎng)度不超過231;定長(zhǎng)字符串的長(zhǎng)度是固定的,最大長(zhǎng)度不超過216。日期/時(shí)間類型日期/時(shí)間類型數(shù)據(jù)用于存儲(chǔ)日期和時(shí)間的值。要想熟練使用Date型數(shù)據(jù),需要了解日期值在VBA內(nèi)部的存儲(chǔ)形式。VBA中,Date數(shù)據(jù)以雙精度浮點(diǎn)數(shù)形式保存,它的整數(shù)部分用于存儲(chǔ)日期值,小數(shù)部分用于存儲(chǔ)時(shí)間值。Date數(shù)據(jù)的整數(shù)部分用于表示當(dāng)前日期距離1900年1月1日的天數(shù),其中1899年12月31日之前的日期以負(fù)整數(shù)表示,該日期之后的日期為正整數(shù)。Date數(shù)據(jù)的小數(shù)部分表示從子夜到現(xiàn)在已經(jīng)度過的時(shí)間,“0”表示午夜。如果小數(shù)部分的值為0.5,則表示一天中已經(jīng)過去了二分之一,目前的時(shí)間是中午12點(diǎn)。邏輯類型邏輯類型數(shù)據(jù)也稱為布爾型,用于邏輯判斷,它只有True(真)、False(假)兩個(gè)值。當(dāng)變量值只是True/False、yes/no、on/off等兩種情況時(shí),可將其聲明為邏輯類型。當(dāng)將邏輯型數(shù)據(jù)轉(zhuǎn)換為其他數(shù)據(jù)類型時(shí),F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換為1;當(dāng)將其他數(shù)據(jù)類型轉(zhuǎn)換為邏輯型數(shù)據(jù)時(shí),0轉(zhuǎn)換為False,非0數(shù)據(jù)轉(zhuǎn)換為True。對(duì)象類型對(duì)象類型數(shù)據(jù)用于存放應(yīng)用程序中的對(duì)象。變體類型變體是一種特殊的數(shù)據(jù)類型,變體數(shù)據(jù)是指沒有被顯式聲明為某種類型變量的數(shù)據(jù)類型。它可以表示數(shù)值、字符、日期等任何值,也可以是特殊值Empty、Error、Nothing和Null??梢哉f,變體數(shù)據(jù)類型是VBA中應(yīng)用最靈活的一種數(shù)據(jù)類型,變體型變量不僅可以存儲(chǔ)所有類型的數(shù)據(jù),而且當(dāng)賦予不同類型值時(shí)可以自動(dòng)進(jìn)行類型轉(zhuǎn)換。用戶自定義類型當(dāng)需要用一個(gè)變量記錄多個(gè)類型不一樣的信息時(shí),可以使用用戶自定義類型。用戶自定義數(shù)據(jù)類型主要是為了保存一些特定的數(shù)據(jù)(如一條記錄數(shù)據(jù))和易于變量識(shí)別,它是將不同類型的變量組合起來的一種形式。語(yǔ)句格式Type<varname><elementname>Astype[<elementname>Astype]…EndType常量常量是指在程序運(yùn)行過程中,其值不能被改變的量。符號(hào)常量符號(hào)常量由Const語(yǔ)句創(chuàng)建。創(chuàng)建符號(hào)常量時(shí)需給出具體的常量值,在程序運(yùn)行過程中對(duì)符號(hào)常量只能作讀取操作,不允許對(duì)其進(jìn)行修改或重新賦值。符號(hào)常量的命名規(guī)則與變量命名規(guī)則相同,需注意的是:不允許創(chuàng)建與固有常量同名的符號(hào)常量。固有常量VBA提供了許多固有常量,并且所有固有常量都可以在宏或VBA代碼中使用。固有常量名的前兩個(gè)字母為前綴字母,指明了定義該常量的對(duì)象庫(kù)。例如:acRecord,adAddNew,vbOkOnly等。變量變量是指在程序運(yùn)行過程中,其值可能發(fā)生變化的數(shù)據(jù)。變量實(shí)際上是一個(gè)符號(hào)地址,VBA通過使用變量來臨時(shí)存儲(chǔ)數(shù)據(jù)。變量具有三要素:變量名、變量類型、變量值。變量的命名規(guī)則變量名必須以字母字符開頭,最長(zhǎng)不超過255個(gè)字符;可以包含字母、數(shù)字或下劃線字符,不能包含標(biāo)點(diǎn)符號(hào)和空格等;變量名不區(qū)分英文字符的大小寫,如:intX、INTX、intx等表示的是同一個(gè)變量;變量名不能使用VBA關(guān)鍵字;為了增加程序的可讀性,通常在變量名前加一個(gè)前綴來表明該變量的數(shù)據(jù)類型變量的聲明每個(gè)變量都有一個(gè)變量名,使用之前可以采用顯式聲明指定數(shù)據(jù)類型,也可以采用不指定方式隱式聲明。使用類型說明符號(hào)聲明變量VBA允許使用類型說明符號(hào)來聲明變量的數(shù)據(jù)類型,類型說明符只能出現(xiàn)在變量名的最后,如:intX%表示變量intX是整型數(shù)據(jù)類型。使用Dim或Static語(yǔ)句聲明變量語(yǔ)句格式1:Dim<varname>[As<type>][,<varname>[As<type>]…]語(yǔ)句格式2:Static<varname>[As<type>][,<varname>[As<type>]…]使用DefType語(yǔ)句聲明變量
DefType語(yǔ)句只能用于模塊的通用聲明部分,用來為變量和傳送給過程的參數(shù)設(shè)置默認(rèn)數(shù)據(jù)類型。語(yǔ)句格式:DefType
<letter1>[-<letter2>][,<letter1>[-<letter2>]]…使用變體類型隱式聲明是指在使用一個(gè)變量之前不必事先聲明這個(gè)變量。用戶可以通過給變量賦值的方式來建立隱式變量。顯式聲明變量有三個(gè)作用一是可以指定變量的數(shù)據(jù)類型二是可以指定變量的適用范圍(即變量的作用域)三是在程序編制過程中可以預(yù)先排除一些因?yàn)樽兞棵磳戝e(cuò)誤而帶來的錯(cuò)誤。變量的作用域變量可被訪問的范圍稱為變量的作用域。局部變量在模塊的過程內(nèi)部用Dim或Static聲明的變量,稱為局部變量。局部變量的作用范圍僅限于聲明該變量的過程執(zhí)行期間,過程執(zhí)行完畢,局部變量將被釋放。模塊變量在模塊的通用聲明部分用Dim或Private聲明的變量,稱為模塊級(jí)變量。模塊級(jí)變量在聲明它的模塊中的所有過程中都能使用,其他模塊不能訪問。全局變量在標(biāo)準(zhǔn)模塊的通用聲明部分用Public聲明的變量,稱為全局變量。全局變量在聲明它的數(shù)據(jù)庫(kù)中所有模塊的所有過程中都能使用。變量的生存期動(dòng)態(tài)變量在過程中,使用Dim語(yǔ)句聲明的局部變量屬于動(dòng)態(tài)變量。動(dòng)態(tài)變量的生存期僅限于它所在過程的一次運(yùn)行期間。即從該過程執(zhí)行開始直至過程執(zhí)行完畢,動(dòng)態(tài)變量的值不會(huì)帶入過程的下一次運(yùn)行期間。靜態(tài)變量在過程中,用Static聲明的局部變量屬于靜態(tài)變量。靜態(tài)變量在過程運(yùn)行時(shí)可保留變量的值。即每次運(yùn)行過程時(shí),用Static聲明的變量都保持上一次的值。數(shù)組數(shù)組是由一組具有相同數(shù)據(jù)類型的變量(稱為數(shù)組元素)構(gòu)成的集合。數(shù)組變量由變量名和數(shù)組下標(biāo)組成。在VBA中,不允許隱式說明數(shù)組,可用Dim語(yǔ)句來聲明數(shù)組。語(yǔ)句格式:Dim<varname>([<lower1>To]<upper1>[,[<lower2>To]<upper2>]…)Astype動(dòng)態(tài)數(shù)組在VBA中,允許用戶定義動(dòng)態(tài)數(shù)組。在不能明確地知道數(shù)組中應(yīng)該含有多少個(gè)元素時(shí),可以使用動(dòng)態(tài)數(shù)組。動(dòng)態(tài)數(shù)組中元素的個(gè)數(shù)是不定的,在程序運(yùn)行中可以改變其大小。動(dòng)態(tài)數(shù)組的定義過程分為兩步:首先,使用Dim語(yǔ)句聲明數(shù)組,但不指定數(shù)組元素的個(gè)數(shù);其次,在具體使用時(shí)再用ReDim語(yǔ)句來指定數(shù)組元素的個(gè)數(shù),稱為數(shù)組的重定義。數(shù)組的使用一經(jīng)聲明,數(shù)組中的每個(gè)元素就都可以作為單個(gè)變量使用了,其使用方法與普通變量相同。數(shù)組元素的引用格式中包括數(shù)組名和下標(biāo)值。如果是一維數(shù)組,則只有一個(gè)下標(biāo)值;如果是多維數(shù)組,則多個(gè)下標(biāo)值之間以逗號(hào)分隔。若給定數(shù)組元素的下標(biāo)值超過了數(shù)組聲明語(yǔ)句中規(guī)定的上、下界,則會(huì)出錯(cuò)。VBA中的表達(dá)式VBA表達(dá)式是由運(yùn)算符將常量、變量、函數(shù)、控件屬性等運(yùn)算對(duì)象進(jìn)行連接的式子。表達(dá)式可執(zhí)行計(jì)算、操作字符或測(cè)試數(shù)據(jù),其計(jì)算結(jié)果為單一的值。VBA表達(dá)式中涉及的運(yùn)算符除前面章節(jié)介紹的算術(shù)運(yùn)算符、字符運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符以外,還有對(duì)象運(yùn)算符。對(duì)象運(yùn)算符“!”運(yùn)算符運(yùn)算符“!”的作用是引出一個(gè)用戶定義的對(duì)象,如窗體、報(bào)表、窗體或報(bào)表上的控件等?!?”運(yùn)算符運(yùn)算符“.”的作用是引出一個(gè)Access定義的內(nèi)容,如屬性。VBA語(yǔ)句的書寫規(guī)則VBA語(yǔ)句不區(qū)分英文字母的大小寫,但要求標(biāo)點(diǎn)和括號(hào)等符號(hào)使用西文形式。一個(gè)VBA語(yǔ)句行最多允許含有255個(gè)字符。通常將一條語(yǔ)句寫在一行。若語(yǔ)句較長(zhǎng),一行寫不下時(shí),可以人為斷行,但需要在行尾增加續(xù)行符(即:一個(gè)空格后面跟一個(gè)下劃線“_”),以表示該語(yǔ)句并沒有結(jié)束,它的剩余內(nèi)容在下一行。VBA允許在程序的同一行上書寫多條語(yǔ)句,各語(yǔ)句之間需用冒號(hào)“:”分隔。輸入一個(gè)語(yǔ)句行,并按Enter鍵后,VBA將自動(dòng)進(jìn)行語(yǔ)法檢查。如果語(yǔ)句行存在錯(cuò)誤,該語(yǔ)句將以紅色顯示,有時(shí)還會(huì)伴有錯(cuò)誤信息提示。對(duì)于語(yǔ)句中的關(guān)鍵字,VBA會(huì)將其首字母自動(dòng)轉(zhuǎn)換為大寫形式。注釋語(yǔ)句為了增加程序的可讀性,可以在程序中添加適當(dāng)?shù)淖⑨?。語(yǔ)句格式1:
Rem<comment>語(yǔ)句格式2:'<comment>聲明語(yǔ)句聲明語(yǔ)句通常放在程序的開始部分,通過聲明語(yǔ)句可以命名和定義常量、變量、數(shù)組和過程。當(dāng)聲明一個(gè)變量、數(shù)組或過程時(shí),也同時(shí)定義了它們的作用范圍。賦值語(yǔ)句通過賦值語(yǔ)句可以將表達(dá)式的值賦給指定的變量或?qū)傩?。語(yǔ)句格式:[Let]<varname>=<expression>語(yǔ)句說明:關(guān)鍵字Let為可選項(xiàng),通常省略不寫。varname為變量或?qū)傩缘拿Q,expression為表達(dá)式。該語(yǔ)句的執(zhí)行方式為:先計(jì)算(表達(dá)式),后賦值。要求表達(dá)式結(jié)果值的類型必須與varname的類型兼容,否則程序不能正確運(yùn)行。用戶交互函數(shù)InputBox
InputBox函數(shù)的作用是打開一個(gè)對(duì)話框,并等待用戶輸入文本。函數(shù)格式:
InputBox(<prompt>[,<title>][,<default>][,<xpos>][,<ypos>])函數(shù)說明:prompt是一個(gè)字符串表達(dá)式,其結(jié)果值將作為提示信息顯示在對(duì)話框中。title為可選項(xiàng),它也是一個(gè)字符串表達(dá)式,其結(jié)果值將顯示在對(duì)話框的標(biāo)題欄中。default為可選項(xiàng),其內(nèi)容為對(duì)話框的默認(rèn)輸入值。選項(xiàng)xpos、ypos用于確定對(duì)話框在屏幕上的位置。
MsgBox語(yǔ)句和MsgBox函數(shù)MsgBox語(yǔ)句和MsgBox函數(shù)的作用是打開一個(gè)對(duì)話框,顯示相關(guān)信息,等待用戶通過按鈕進(jìn)行選擇,最后針對(duì)用戶單擊的按鈕,返回一個(gè)相應(yīng)的整數(shù)值。語(yǔ)句格式:
MsgBox<prompt>[,<buttons>][,<title>]函數(shù)格式:
MsgBox(<prompt>[,<buttons>][,<title>])語(yǔ)句和函數(shù)說明:prompt是一個(gè)字符串表達(dá)式,其結(jié)果值將作為提示信息顯示在對(duì)話框中。title為可選項(xiàng),它也是一個(gè)字符串表達(dá)式,其結(jié)果值將顯示在對(duì)話框的標(biāo)題欄中。buttons為可選項(xiàng),它是一個(gè)整型表達(dá)式,由表11.5所示的四組方式組合而成,且每組方式只能選擇一個(gè)。buttons的內(nèi)容決定了對(duì)話框顯示按鈕的數(shù)目及形式、使用的圖標(biāo)樣式、默認(rèn)按鈕,以及對(duì)話框的強(qiáng)制回應(yīng)等內(nèi)容。MsgBox函數(shù)的返回值反映了用戶的選擇Buttons選項(xiàng)設(shè)置值分組常量值描述按鈕數(shù)目及形式vbOkOnly0只顯示Ok按鈕(缺省值)vbOkCancel1顯示Ok和Cancel按鈕vbAbortRetryIgnore2顯示Abort、Retry和Ignore按鈕vbYesNoCancel3顯示Yes、No和Cancel按鈕vbYesNo4顯示Yes和No按鈕vbRetryCancel5顯示Retry和Cancel按鈕圖標(biāo)類型vbCritical16顯示CriticalMessage圖標(biāo)vbQuestion32顯示W(wǎng)arningQuery圖標(biāo)vbExclamation48顯示W(wǎng)arningMessage圖標(biāo)vbInformation64顯示InformationMessage圖標(biāo)默認(rèn)按鈕vbDefaultButton10第一個(gè)按鈕是默認(rèn)值vbDefaultButton2256第二個(gè)按鈕是默認(rèn)值vbDefaultButton3512第三個(gè)按鈕是默認(rèn)值模式vbApplicationModal0應(yīng)用模式vbSystemModal4096系統(tǒng)模式MsgBox函數(shù)返回值及其含義常量值描述vbOk1按下Ok按鈕vbCancel2按下Cancel按鈕vbAbort3按下Abort按鈕vbYes6按下Yes按鈕vbNo7按下No按鈕選擇結(jié)構(gòu)—單分支結(jié)構(gòu)語(yǔ)句格式1:If<condition>Then<statements>EndIf語(yǔ)句格式2: If<condition>Then<statements>雙分支結(jié)構(gòu)語(yǔ)句格式1:If<condition>Then<statements-1>Else<statements-2>EndIf語(yǔ)句格式2:If<condition>Then<statements-1>Else<statements-2>多分支結(jié)構(gòu)If<condition-1>Then<statements-1>
ElseIf<condition-2>Then<statements-2>…[ElseIf<condition-n>Then<statements-n>][Else<statements-n+1>]EndIf情況語(yǔ)句SelectCase<testexpression>Case<expressionlist-1><statements-1>…[Case<expressionlist-n>[statements-n]][CaseElse[statements-n+1]]EndSelect利用函數(shù)完成選擇操作IIf函數(shù)IIf(<expr>,<truepart>,<falsepart>)Switch函數(shù)Switch(<expr1>,<value1>[,<expr2>,<value2>…[,<exprn>,<valuen>]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房地產(chǎn)分銷合作協(xié)議范本(含營(yíng)銷活動(dòng))3篇
- 中國(guó)艾滋病“問題”解析
- 二零二五年度房地產(chǎn)廣告創(chuàng)意設(shè)計(jì)與媒介代理合同2篇
- 二零二五年度嬰兒用品OEM定制合同范本正規(guī)范本2篇
- 局長(zhǎng)個(gè)人述職報(bào)告
- 二零二五年度房地產(chǎn)項(xiàng)目土地租賃合同簽約流程與政策解讀3篇
- 黑龍江雞西市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)部編版隨堂測(cè)試(下學(xué)期)試卷及答案
- 河北省張家口市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)部編版綜合練習(xí)(下學(xué)期)試卷及答案
- 貴州師范大學(xué)《高頻電子線路實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度擔(dān)保公司金融租賃合作協(xié)議3篇
- 江蘇鹽城東臺(tái)市小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)期末測(cè)試卷含答案
- CNC工藝簡(jiǎn)介課件
- 海外安全培訓(xùn)課件
- 江蘇省蘇州市2023-2024學(xué)年高一上學(xué)期期末學(xué)業(yè)質(zhì)量陽(yáng)光指標(biāo)調(diào)研語(yǔ)文試卷
- 大學(xué)軍事理論課教程第三章軍事思想第四節(jié)當(dāng)代中國(guó)軍事思想
- 開展學(xué)科周活動(dòng)方案
- 報(bào)價(jià)單(報(bào)價(jià)單模板)
- 園林景觀給排水設(shè)計(jì)匯總計(jì)算書
- 《電線電纜常用計(jì)算公式》
- 關(guān)于心理健康教育情況的調(diào)研報(bào)告
- 內(nèi)側(cè)蒂直線短瘢痕法治療乳房肥大癥的臨床研究
評(píng)論
0/150
提交評(píng)論