




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1學(xué)時(shí)Visual Basic forApplication是什么歡迎使用E xcel和Visual Basic for Application開(kāi)發(fā)應(yīng)用程序!作為已經(jīng)能夠熟練使用E xcel的用戶(hù),你一定對(duì)E xcel強(qiáng)大的功能感到滿意?,F(xiàn)在,你將逐步提高到更高的水平。即使你以前從來(lái)沒(méi)有編寫(xiě)過(guò)程序,也能夠使用Visual Basic for Application開(kāi)發(fā)出解決方案。Vi sualBasic for Application是現(xiàn)在可用的最容易學(xué)習(xí)、最容易使用同時(shí)也是最復(fù)雜的應(yīng)用程序自動(dòng)化語(yǔ)言(過(guò)去常常稱(chēng)為宏語(yǔ)言)之一。在這個(gè)學(xué)時(shí)中,通過(guò)熟悉宏錄制器,將開(kāi)始學(xué)習(xí)有關(guān)的基礎(chǔ)知識(shí)。本學(xué)時(shí)
2、的重點(diǎn)包括: Visual Basic for Application是什么 Excel環(huán)境中基于應(yīng)用程序的自動(dòng)化的優(yōu)點(diǎn) 錄制一個(gè)簡(jiǎn)單的宏 執(zhí)行宏 編輯宏 宏錄制器的局限性1.1 Visual Basic for Application是什么直到9 0年代早期,使應(yīng)用程序自動(dòng)化還是充滿挑戰(zhàn)性的領(lǐng)域。對(duì)每個(gè)需要自動(dòng)化的應(yīng)用程序,人們不得不學(xué)習(xí)一種不同的自動(dòng)化語(yǔ)言。例如,可以使用E xcel的宏語(yǔ)言使E xcel自動(dòng)化,使用Word Basic使Microsoft Wo rd自動(dòng)化,等等。M icrosoft決定讓它開(kāi)發(fā)出來(lái)的應(yīng)用程序共享一種通用的自動(dòng)化語(yǔ)言Visual Basic for App
3、lication(V BA),而不是使用不同的自動(dòng)化語(yǔ)言。可以認(rèn)為Visual Basic for Application是非常流行的應(yīng)用程序開(kāi)發(fā)語(yǔ)言Visual Basic的子集。實(shí)際上,V BA是“寄生于”Visual Basic應(yīng)用程序的版本。V BA與Visual Basic的區(qū)別包括如下幾個(gè)方面: Visual Basic是設(shè)計(jì)用于創(chuàng)建標(biāo)準(zhǔn)的應(yīng)用程序,而V B A是用于使已有的應(yīng)用程序自動(dòng)化。 Visual Basic 具有自己的開(kāi)發(fā)環(huán)境,而V BA必須“寄生于”已有的應(yīng)用程序。 要運(yùn)行Visual Basic開(kāi)發(fā)的應(yīng)用程序,用戶(hù)不用在他的系統(tǒng)上訪問(wèn)Visual Basic,因?yàn)閂i
4、sual Basic開(kāi)發(fā)出的應(yīng)用程序是可執(zhí)行的。而由于V BA應(yīng)用程序是寄生性的,執(zhí)行它們要求用戶(hù)訪問(wèn)“父”應(yīng)用程序,例如E xcel。盡管存在這些不同,Visual Basic和V BA在結(jié)構(gòu)上仍然非常相似。事實(shí)上,如果你已經(jīng)了解了Visual Basic,會(huì)發(fā)現(xiàn)學(xué)習(xí)V BA非???。相應(yīng)地,學(xué)完V BA會(huì)給Visual Basic的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。而且,當(dāng)學(xué)會(huì)在E xcel中用V BA創(chuàng)建解決方案后,你就已經(jīng)具備了在Wo rd、P roject、A ccess、O utlook、F oxPro和P owerPoint中用V BA創(chuàng)建解決方案的大部分知識(shí)。2中文Excel 2000編程2
5、4學(xué)時(shí)教程V BA的一個(gè)關(guān)鍵性特征是從一種M icrosoft產(chǎn)品或者Visual Basic中學(xué)到的知識(shí)可以相互轉(zhuǎn)化。V BA究竟是什么?更確切地講,它是一種自動(dòng)化語(yǔ)言,可以用它使常用的過(guò)程或者進(jìn)程自動(dòng)化,可以創(chuàng)建自定義的解決方案,此外,如果你愿意,還可以將E xcel用做開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)應(yīng)用程序。1.2 Excel環(huán)境中基于應(yīng)用程序的自動(dòng)化的優(yōu)點(diǎn)你也許希望知道可以用V BA干什么。使用V BA可以實(shí)現(xiàn)的功能包括: 使重復(fù)性的任務(wù)自動(dòng)化。 自定義E xcel中工具欄、菜單和窗體的界面。 簡(jiǎn)化模板的使用。 為E xcel環(huán)境添加額外的功能。 創(chuàng)建報(bào)表。 對(duì)數(shù)據(jù)執(zhí)行復(fù)雜的操作和分析。你以前也許沒(méi)有想
6、到將應(yīng)用程序用作開(kāi)發(fā)平臺(tái)。大多數(shù)人考慮開(kāi)發(fā)應(yīng)用程序時(shí),想到的都是像Visual Basic或者C +這樣的語(yǔ)言。你希望采用E xcel作為開(kāi)發(fā)平臺(tái)有許多原因,這些原因包括: Excel的應(yīng)用程序功能強(qiáng)大,包括打印、文件處理、格式化和文本編輯。 Excel具有大量可供選擇的內(nèi)置函數(shù)。 Excel提供熟悉的界面。 可連接到多種格式的數(shù)據(jù)庫(kù)。如果以前曾經(jīng)用某種語(yǔ)言編寫(xiě)過(guò)程序,你就會(huì)知道,一半的工作不得不用來(lái)完成一些基本的功能,包括文件的打開(kāi)和保存,以及剪貼板操作,例如拷貝和粘貼,等等。而這帶來(lái)了使用應(yīng)用程序開(kāi)發(fā)解決方案的一個(gè)主要的優(yōu)點(diǎn)寄主應(yīng)用程序已經(jīng)具備了各種基本功能。需要做的只是使用它,必須使用E
7、 xcel中包括文件處理、文本編輯和格式化在內(nèi)的各種功能。因?yàn)槭窃贓xcel中開(kāi)發(fā)解決方案,所以也必須訪問(wèn)Excel的擴(kuò)展函數(shù)庫(kù)。作為Excel用戶(hù)時(shí)所熟悉的所有函數(shù)(包括SUM、IRR、MAX、FV、PMT和AVG),在作為Excel開(kāi)發(fā)者時(shí)都是可用的。從解決方案的最終用戶(hù)的角度看,他們是在已經(jīng)知道如何使用的應(yīng)用程序上進(jìn)行工作,因此他們可從中受益。他們對(duì)E xcel的菜單系統(tǒng)、工具欄和工作表區(qū)域都很熟悉。正因?yàn)槿绱?,他們?huì)立刻對(duì)你的自動(dòng)化解決方案感到滿意。用E xcel開(kāi)發(fā)解決方案的其他一些優(yōu)點(diǎn)不是十分明顯,例如E xcel連接數(shù)據(jù)庫(kù)的特征。如果在解決方案的窗體中需要對(duì)數(shù)據(jù)庫(kù)(例如Micro
8、soft SQL Server或者M(jìn)icrosoft Access)進(jìn)行操作,由于E xcel可以很容易地做到,所以你也可以很容易地做到。1.3 錄制簡(jiǎn)單的宏在介紹學(xué)習(xí)V BA代碼之前,應(yīng)該花幾分鐘錄制一個(gè)宏。E xcel的宏錄制器允許記錄一系列的操作,并且將這些操作轉(zhuǎn)換為V BA代碼。即使當(dāng)你對(duì)編寫(xiě)V BA代碼已經(jīng)完全熟練時(shí),也會(huì)在工作時(shí)使用宏錄制器。作為V BA開(kāi)發(fā)者,使用宏錄制器有兩個(gè)原因。一個(gè)原因是因?yàn)槭褂煤赇浿破骺梢怨?jié)省時(shí)間,開(kāi)發(fā)者通常用它來(lái)建立應(yīng)用程序的基礎(chǔ)。另一個(gè)原因是宏錄制器可以用作教學(xué)工具,如果你不能確定如何編寫(xiě)一系列的步驟,可以進(jìn)行錄制,再查看代碼。新術(shù)語(yǔ)宏指一系列以E x
9、cel能夠執(zhí)行的名字保存的命令。以下將要錄制的宏非常簡(jiǎn)單,只是改變單元格的字體和顏色。雖然有其他方法可以實(shí)現(xiàn)這種類(lèi)型的任務(wù)(例如風(fēng)格、自動(dòng)套用格式等等),但是這一系列步驟為宏錄制器提供了很好的示例。請(qǐng)完成如下步驟:1)打開(kāi)新的工作簿,確認(rèn)所有其他工作簿已經(jīng)關(guān)閉(如果它們包含宏或者其他V BA代碼),以便能夠很容易地對(duì)錄制的宏進(jìn)行定位和處理。2)在單元格A 1中輸入你的名字,在單元格B 1中輸入你的姓,在單元格C 1中輸入你居住的城市名,在單元格D 1中輸入你居住的國(guó)家名。以上操作為下面的練習(xí)提供用來(lái)處理的數(shù)據(jù)。3)選中單元格A 1。4)選擇“工具”、“宏”、“錄制新宏”,顯示如圖1 -1所示的
10、“錄制新宏”對(duì)話框。5)輸入“B igFont”作為宏名,鍵入回車(chē)開(kāi)始錄制宏。注意此時(shí)E xcel應(yīng)用程序窗口的狀態(tài)欄中顯示“錄制”,特別是“停止錄制”工具欄也顯示出來(lái)。宏的名字最多可為2 55個(gè)字符,并且必須以字母開(kāi)始。宏名中可用的其他字符包括字母、數(shù)字和下劃線。宏名中不允許出現(xiàn)空格。通常用下劃線代表空格。要顯示“停止錄制”對(duì)話框,可用鼠標(biāo)右鍵單擊工具欄,并選擇“停止錄制”。只有在錄制宏時(shí),“停止錄制”工具欄才可用。6)選擇“格式”,“單元格”,會(huì)顯示“單元格格式”對(duì)話框,選擇“字體”選項(xiàng)卡。7)將字體大小設(shè)為1 6,將字體顏色設(shè)為紅色,單擊“確定”按鈕。8)單擊“停止錄制”工具欄按鈕,結(jié)束
11、宏錄制過(guò)程。如果“停止錄制”工具欄沒(méi)有顯示出來(lái),請(qǐng)選擇“工具”、“宏”、“停止錄制”。錄制完一個(gè)宏后,就可以執(zhí)行它了。1.4 執(zhí)行宏當(dāng)執(zhí)行一個(gè)宏時(shí),它按照錄制宏時(shí)相同的步驟進(jìn)行操作。要執(zhí)行一個(gè)宏,可按照如下步驟:4中文Excel 2000編程2 4學(xué)時(shí)教程1)選擇單元格B 1。2)選擇“工具”、“宏”、“宏”,顯示“宏”對(duì)話框,如圖1 -2所示。按下A lt+F8鍵也可以顯示“宏”對(duì)話框。圖1-2 “宏”對(duì)話框用來(lái)選擇將要運(yùn)行或編輯的宏3)選擇“B igFont”,選擇“執(zhí)行”,則單元格B 1中的字體變?yōu)? 6磅和紅色。4)選擇單元格C 1和D 1,再次運(yùn)行宏“B igFont”。盡管最初錄制
12、宏時(shí)只改變了一個(gè)單元格的字體,此時(shí)兩個(gè)單元格的字體都變?yōu)? 6磅和紅色。1.5 查看錄制的代碼當(dāng)執(zhí)行希望保存到宏中的步驟時(shí),E xcel將操作步驟轉(zhuǎn)化為V BA代碼。要查看生成的代碼,可按照如下步驟:1)選擇“工具”、“宏”、“宏”,顯示“宏”對(duì)話框。2)選擇“B i g F o n t”,單擊“編輯”,此時(shí)會(huì)打開(kāi)Microsoft Visual Basic編輯器窗口,如圖1 -3所示。圖1-3 Microsoft Vi s u a lB a s i c編輯器用來(lái)查看和編輯V BA代碼第1學(xué)時(shí)Visual Basic for Application是什么5Microsoft Visual Ba
13、sic編輯器包括幾部分組件。在第4學(xué)時(shí)中,將學(xué)習(xí)到更多有關(guān)Visual Basic組件的知識(shí)?,F(xiàn)在應(yīng)該將注意力集中到顯示的代碼上。顯示的代碼應(yīng)該和程序清單1-1相似。程序清單1-1 BigFont過(guò)程Sub BigFont() BigFont Macro hj 記錄的宏1 999-11 -26With Selection.Font.Name = 宋體.FontStyle = 常規(guī).Size = 16.Strikethrough = False.Superscript = False.Subscript = False.OutlineFont = False.Shadow = False.Und
14、erline = xlUnderlineStyleNone.ColorIndex = 3End Wi thEnd Sub代碼的第一行“Sub BigFont( )”表示了宏的起點(diǎn)和名字,接下來(lái)的以單引號(hào)開(kāi)頭的行為注釋行,表示與宏有關(guān)的說(shuō)明,在本例中包括宏的名字、錄制時(shí)間、錄制人。宏實(shí)際工作的部分是從“w ith”開(kāi)始的。注意單詞“S election”,S election在V BA中用來(lái)表示突出顯示的部分,這就是不論選擇一個(gè)或者多個(gè)單元格宏都能正常工作的原因。你可能注意到的另一點(diǎn)是錄制的內(nèi)容比執(zhí)行的操作要多得多。你僅僅改變了字體的大小和顏色,但是所有的字體信息都從“單元格格式”對(duì)話框的“字體
15、”選項(xiàng)卡中錄制下來(lái)。1.6 編輯錄制的代碼編輯代碼可在Visual Basic編輯器中直接進(jìn)行??商砑哟a行、刪除行或者修改行。要做的第一件事是刪除錄制下來(lái)的多余的行,可按照如下步驟:1)突出顯示以“. Name”開(kāi)始的行。2)刪除該行。不用擔(dān)心產(chǎn)生的空行,V BA忽略空行。3)繼續(xù)刪除多余的行,直至過(guò)程和下面的代碼相同:Sub BigFont() BigFont Macro hj 記錄的宏1 999-11 -26With Selection.Font.Size = 166中文Excel 2000編程2 4學(xué)時(shí)教程.ColorIndex = 3End Wi thEnd Sub4)關(guān)閉Visua
16、l Basic編輯器窗口,返回工作簿。5)在單元格E 1中輸入“t est”。6)選中單元格E 1,運(yùn)行宏“B igFont”。注意宏運(yùn)行的結(jié)果與刪除宏中的多余的代碼行之前完全相同。7)選擇“工具”、“宏”、“宏”。8)選擇“B igFont”,單擊“編輯”按鈕。9)現(xiàn)在,當(dāng)運(yùn)行這個(gè)宏時(shí),字體大小設(shè)置為1 6。編輯這個(gè)宏將字體大小設(shè)置為2 4。完成后的宏應(yīng)該和如下代碼相似。Sub BigFont() BigFont Macro hj 記錄的宏1 999-11 -26With Selection.Font.Size = 24.ColorIndex = 3End Wi thEnd Sub1 0)關(guān)
17、閉Visual Basic編輯器窗口。11)選中單元格A 1,運(yùn)行“B igFont”宏?,F(xiàn)在該單元格的字體會(huì)變得更大。1 2)將工作簿保存為“Hour 1”?,F(xiàn)在可以看到編輯錄制下來(lái)的宏非常簡(jiǎn)單。需要對(duì)宏進(jìn)行編輯是因?yàn)橐韵聝蓚€(gè)原因。其一是在錄制宏時(shí)出錯(cuò);另一個(gè)原因是希望對(duì)宏的功能進(jìn)行改變。不論是因?yàn)槟膫€(gè)原因,總是可用Visual Basic編輯器對(duì)宏進(jìn)行編輯。1.7 宏錄制器的局限性希望自動(dòng)化的許多E xcel的操作過(guò)程都可以通過(guò)對(duì)操作進(jìn)行錄制來(lái)完成。但是宏錄制器確實(shí)具有一定的局限性。通過(guò)宏錄制器不能完成的工作包括: 當(dāng)宏運(yùn)行時(shí)向用戶(hù)提示信息。 根據(jù)用戶(hù)的輸入或者單元格的數(shù)值執(zhí)行不同的操作。
18、 相似E xcel的對(duì)話框,例如“另存為”對(duì)話框。 顯示和使用自定義的用戶(hù)窗體。這些局限性?xún)H僅是需要編寫(xiě)你自己的V BA代碼的原因的一部分。在下一學(xué)時(shí)中,將更多地使用宏錄制器。1.8 學(xué)時(shí)小結(jié)通過(guò)本學(xué)時(shí),你可以很快地學(xué)會(huì)使用宏錄制器??蓪W(xué)到如何錄制、執(zhí)行和編輯宏,甚至第1學(xué)時(shí)Visual Basic for Application是什么7可以修改部分V BA代碼?,F(xiàn)在你已經(jīng)為更詳細(xì)地學(xué)習(xí)宏環(huán)境打下了基礎(chǔ)。下一學(xué)時(shí)的重點(diǎn)是有關(guān)宏的高級(jí)主題。理解宏“怎么樣”和“為什么”是使用V BA開(kāi)發(fā)應(yīng)用程序的第一步。1.9 專(zhuān)家答疑問(wèn)題:用V BA編程為什么需要了解宏錄制器?解答:了解宏錄制器有兩個(gè)主要的好處
19、:你掌握的有關(guān)宏錄制器的知識(shí)可以成為學(xué)習(xí)V BA的基礎(chǔ);此外,當(dāng)開(kāi)始開(kāi)發(fā)應(yīng)用程序時(shí),你會(huì)發(fā)現(xiàn),可以先錄制盡可能多的宏,然后再對(duì)錄制下來(lái)的代碼進(jìn)行修改。問(wèn)題:如果我從未編寫(xiě)過(guò)程序,學(xué)習(xí)V BA是否有困難?解答:沒(méi)有!開(kāi)始用V BA進(jìn)行編程只需了解E xcel。在開(kāi)發(fā)解決方案時(shí)將用到在E xcel方面的知識(shí)。本書(shū)將提供你需要的所有其他知識(shí)。1.10 課外作業(yè)思考題和練習(xí)題是為了使你能夠進(jìn)一步地理解所學(xué)內(nèi)容。答案請(qǐng)參考附錄。1.10.1 思考題1)V BA只能用于E xcel嗎?2)V BA是基于哪種語(yǔ)言?3)判斷題:在V BA應(yīng)用程序中可以使用E xcel的內(nèi)置函數(shù)。4)對(duì)宏代碼進(jìn)行編輯時(shí),工作在
20、5)列舉宏錄制器的兩個(gè)局限性。1.10.2 練習(xí)題創(chuàng)建一個(gè)新的名為“Ti tle”的宏,在單元格A 1中輸入你的名字,在B 1中輸入今天的日期。宏的功能是將A 1和B 1的字體大小設(shè)置為1 4磅。錄制完成宏后,復(fù)習(xí)生成的代碼。第2學(xué)時(shí)處理錄制的宏9圖2-1 “宏選項(xiàng)”對(duì)話框可用來(lái)為宏指定快捷鍵4)輸入字母“b”作為快捷鍵??旖萱I必須是C trl和一個(gè)字母鍵的組合。5)單擊“確定”按鈕,關(guān)閉“宏”對(duì)話框。6)在單元格A 3中輸入“Te st”。7)選中單元格A 3,在按下C trl+B時(shí)會(huì)執(zhí)行相應(yīng)的宏,可以看到該單元格字體的大小和顏色都改變了。如果對(duì)E xcel的快捷鍵比較熟悉,你應(yīng)該知道,通常
21、情況下,C trl+B會(huì)將選中的內(nèi)容以粗體顯示。因?yàn)槟銓 trl+B指定為執(zhí)行宏的快捷鍵,所以就覆蓋了E xcel的內(nèi)置函數(shù)。只要該工作簿打開(kāi),這種情況就會(huì)一直保持。注意E xcel不會(huì)試圖阻止這樣做。你甚至看不到警告信息,E xcel假設(shè)你知道這樣做的后果。2.2 決定宏的保存位置當(dāng)創(chuàng)建第一個(gè)宏時(shí),你接收了將該宏存放在默認(rèn)的位置。總的來(lái)說(shuō),可將宏存放在三種可能的位置: 本工作簿。 新的工作簿。 個(gè)人宏工作簿。如果選擇將宏保存在本工作簿中,則宏駐留在當(dāng)前的工作簿中。這意味著只有當(dāng)該工作簿打開(kāi)時(shí),該宏才可用。也可選擇將宏保存在新的工作簿中,如果這樣選擇,會(huì)自動(dòng)創(chuàng)建新的工作簿。最后的選擇是將宏保
22、存在個(gè)人宏工作簿中。2.3 創(chuàng)建個(gè)人宏工作簿新術(shù)語(yǔ)個(gè)人宏工作簿是為宏保留的一種特別的隱藏工作簿。第一次選擇將宏保存到個(gè)人宏工作簿時(shí),會(huì)創(chuàng)建名為P ERSONAL.XLS的新文件。如果這個(gè)文件存在,當(dāng)打開(kāi)E xcel時(shí)它會(huì)自動(dòng)打開(kāi)。因?yàn)閭€(gè)人宏工作簿始終打開(kāi),所以保存在其中的所有宏都是可用的。這意味著當(dāng)創(chuàng)建可用于多個(gè)工作簿的通用的宏時(shí),最好將它保存在個(gè)人宏工作簿中。在M a c i n t o s h上,個(gè)人宏工作簿的名字為WORK BOOK。PERSONAL MACRO10中文Excel 2000編程2 4學(xué)時(shí)教程個(gè)人宏工作簿保存在X LSTA RT文件夾中。2.3.1 保存宏到個(gè)人宏工作簿中將
23、宏保存到個(gè)人宏工作簿中基本上和將宏保存到本工作簿中一樣。在本練習(xí)中,將創(chuàng)建一個(gè)非常簡(jiǎn)單的宏,將文本變?yōu)樾斌w字并加上下劃線。要將宏保存到個(gè)人宏工作簿中,可按照如下步驟操作:1)選擇“工具”、“宏”、“錄制新宏”,顯示“錄制新宏”對(duì)話框。2)輸入“F ormatTe xt”作為宏名。3)從“保存在”下拉式列表框中選擇“個(gè)人宏工作簿”。4) 單擊“確定”按鈕?,F(xiàn)在進(jìn)入錄制模式。5)單擊“斜體”工具欄按鈕。一段時(shí)間內(nèi),鼠標(biāo)可能顯示為沙漏形狀,特別是當(dāng)?shù)谝淮螌⒑瓯4娴絺€(gè)人宏工作簿時(shí),因?yàn)镋 xcel需要?jiǎng)?chuàng)建個(gè)人宏工作簿文件。6)單擊下劃線工具欄按鈕。7)停止錄制宏。2.3.2 使用個(gè)人宏工作簿中的宏現(xiàn)在
24、,已經(jīng)將一個(gè)宏保存到了個(gè)人宏工作簿中,可在任何工作簿中使用它。要證明這一點(diǎn),可按照如下步驟操作:1)關(guān)閉所有打開(kāi)的工作簿。通過(guò)這種方法,可以知道使用的宏是保存在個(gè)人宏工作簿中的。2)打開(kāi)一個(gè)新的工作簿。3)在單元格A 1中輸入你的名字。4)選中單元格A 1。5)選擇“工具”、“宏”、“宏”,顯示“宏”對(duì)話框??稍赑 ERSONAL.XLS!FormatTe xt的列表框中看到“F ormatTe xt”宏,如圖2 -2所示。圖2-2 保存到個(gè)人宏工作簿中的宏可用于所有的工作簿6)選擇“F ormatTe xt”宏并單擊“執(zhí)行”按鈕,選中的單元格的文本現(xiàn)在變?yōu)樾斌w字并有下劃線。2.3.3 編輯個(gè)
25、人宏工作簿中的宏對(duì)個(gè)人宏工作簿中的宏進(jìn)行編輯與編輯其他工作簿中的宏在處理上有細(xì)微的不同。個(gè)人第2學(xué)時(shí)處理錄制的宏宏工作簿是一個(gè)隱藏的工作簿,在能編輯它的內(nèi)容前,必須將它轉(zhuǎn)變?yōu)榉请[藏的工作簿。要使個(gè)人宏工作簿成為非隱藏的工作簿并編輯其中的宏,可按照如下步驟:1)選擇“窗口”、“取消隱藏”,顯示“取消隱藏”對(duì)話框,如圖2 -3所示。圖2-3 編輯個(gè)人宏工作簿中的宏的第一步是將該工作簿取消隱藏2)選擇“P ersonal”并單擊“確定”按鈕,個(gè)人宏工作簿就取消了隱藏屬性,并成為當(dāng)前活動(dòng)的工作簿。當(dāng)前工作簿窗口的標(biāo)題顯示為“P ersonal”。3)選擇“工具”、“宏”、“宏”,顯示“宏”對(duì)話框。4)
26、選擇“F ormatTe xt”并單擊“編輯”按鈕。如果沒(méi)有取消個(gè)人宏工作簿的隱藏屬性而試圖編輯該宏,將看到先要取消該工作簿隱藏屬性的信息。5)對(duì)宏進(jìn)行修改,關(guān)閉Microsoft Visual Basic編輯器窗口。2.3.4 從個(gè)人宏工作簿中刪除宏要從個(gè)人宏工作簿中刪除宏,同樣應(yīng)該將該工作簿取消隱藏屬性。因?yàn)槟憧赡懿⒉幌M癋 ormatTe xt”宏始終存放在個(gè)人宏工作簿中。當(dāng)該工作簿已經(jīng)取消隱藏屬性后,可按照如下步驟刪除該宏:1)選擇“工具”、“宏”、“宏”,顯示“宏”對(duì)話框。2)選擇“F ormatTe xt”宏并單擊“刪除”按鈕。3)將看到詢(xún)問(wèn)是否希望刪除“F o r m a t
27、Te x t”宏的消息框。單擊“確定”,則刪除了該宏。4)保存工作簿。5)最后需要隱藏個(gè)人宏工作簿。選擇“窗口”、“隱藏”,則該工作簿成為隱藏工作簿。2.4 將宏指定給按鈕作為E xcel開(kāi)發(fā)者,一個(gè)主要目標(biāo)是為自動(dòng)化任務(wù)提供易于使用的界面。一種最為可視的實(shí)現(xiàn)方法是在用戶(hù)將要使用的工作簿中提供命令按鈕。通過(guò)使用“窗體”工具欄,可為工作簿中的工作表添加按鈕。在創(chuàng)建完按鈕后,可為它指定宏,然后你的用戶(hù)就可以通過(guò)單擊按鈕來(lái)執(zhí)行宏。在本練習(xí)中,將創(chuàng)建一個(gè)按鈕,并為該按鈕指定一個(gè)宏,然后再用該按鈕來(lái)執(zhí)行宏。具體可按照如下步驟:1)打開(kāi)“H our1”工作簿。2)選擇“視圖”、“工具欄”、“窗體”,顯示如
28、圖2 -4所示的“窗體”工具欄。3)單擊“窗體”工具欄中的“按鈕”,此時(shí)鼠標(biāo)變?yōu)榻徊婢€,看上去像個(gè)加號(hào)。12中文Excel 2000編程2 4學(xué)時(shí)教程圖2-4 “窗體”工具欄中包括多種可用于自動(dòng)化處理的控件4)在希望放置命令按鈕的地方按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo)畫(huà)一個(gè)矩形,這個(gè)矩形代表了命令按鈕的大小和形狀。當(dāng)對(duì)命令按鈕的大小滿意時(shí)松開(kāi)鼠標(biāo)左鍵,這樣一個(gè)命令按鈕就添加到了工作表中,顯示如圖2 -5所示的“指定宏”對(duì)話框。當(dāng)添加命令按鈕到工作表時(shí),Excel會(huì)自動(dòng)提示為該按鈕指定宏。5) 選擇“B igFont”,單擊“確定”按鈕,這個(gè)宏就被指定給相應(yīng)的按鈕。6)在按鈕上的字母B前單擊鼠標(biāo)左鍵,按下D
29、 elete鍵直至刪除了所有文本。7)輸入“B igFont”,單擊“確定”按鈕。8)在按鈕之外單擊鼠標(biāo)左鍵,使按鈕不再被選中。圖2-5 “指定宏”對(duì)話框用于選擇相應(yīng)按鈕要執(zhí)行的宏第2學(xué)時(shí)處理錄制的宏9)在單元格A 6中輸入今天的日期,并按回車(chē)鍵。1 0)選中單元格A 6,單擊“B igFont”按鈕,執(zhí)行“B igFont”宏。13使用命令按鈕是為工作表添加功能的一種非常好的方法。按鈕既可見(jiàn),用戶(hù)又熟悉,并且不要求用戶(hù)知道要執(zhí)行的宏的名字。2.5 將宏指定給圖片要執(zhí)行宏并非一定要用按鈕,任何可放置到工作表上的圖片都可用來(lái)執(zhí)行宏。當(dāng)希望創(chuàng)建非常圖形化的友好界面時(shí),這項(xiàng)技術(shù)非常有用。例如,如果創(chuàng)
30、建為四個(gè)不同的公司分析數(shù)據(jù)的應(yīng)用程序,可用公司的標(biāo)志作為按鈕。要將宏指定給圖片,可按照如下步驟:1)選中單元格G 3。2)選擇“插入”、“圖片”。3)選擇“剪貼畫(huà)”或者“來(lái)自文件”。4)選擇要插入的圖片。5)當(dāng)圖片顯示在工作表上之后,改變圖片的大小使它差不多為2 cm2 cm大。6)用鼠標(biāo)右鍵單擊該圖片并選擇“指定宏”,顯示“指定宏”對(duì)話框。7)選擇“B igFont”宏,并單擊“確定”按鈕。8)在圖片之外單擊鼠標(biāo)左鍵,使圖片不再被選中。9)在單元格A 9中輸入“1 00”。1 0)選中單元格A 9,并單擊該圖片執(zhí)行宏。帶有圖片“按鈕”的工作表如圖2 -6所示。圖2-6 可用任何剪貼畫(huà)或者圖片
31、文件來(lái)執(zhí)行宏當(dāng)真正開(kāi)始編寫(xiě)V BA過(guò)程時(shí),可用這種技術(shù)將它們指定給按鈕或者圖片。2.6 將宏指定給工具欄按鈕如果不希望用在工作表上添加按鈕或者圖片的方式來(lái)執(zhí)行宏,還有另一種可選的方法:14中文Excel 2000編程2 4學(xué)時(shí)教程可將宏指定給工具欄按鈕。E xcel允許通過(guò)在工具欄中添加按鈕進(jìn)行自定義。當(dāng)在工具欄中添加按鈕后,可將一個(gè)宏指定給它。要將宏指定給工具欄按鈕,可按照如下步驟:1) 選擇“工具”、“自定義”,顯示“自定義”對(duì)話框。也可在工具欄上單擊鼠標(biāo)右鍵,并從彈出菜單中選擇“自定義”。2)選擇“命令”選項(xiàng)卡,如圖2 -7所示。圖2-7 “自定義”對(duì)話框允許向已有的工具欄添加按鈕或者創(chuàng)
32、建新的工具欄3)從“類(lèi)別”下拉式列表框中選擇“宏”。4)從“命令”列表框中選擇“自定義按鈕”。5)將自定義按鈕拖動(dòng)到工具欄。6)用鼠標(biāo)右鍵單擊新添加的按鈕。7)選擇“改變按鈕圖像”,為按鈕選擇一幅圖像。8)用鼠標(biāo)右鍵單擊新添加的按鈕并選擇“指定宏”,顯示“指定宏”對(duì)話框。9)選擇“B igFont”并單擊“確定”按鈕。1 0)單擊“關(guān)閉”按鈕,關(guān)閉“自定義”對(duì)話框。11)在單元格A 11中輸入“2 00”。1 2)選中單元格A 11,并單擊新添加的按鈕,執(zhí)行“B igFont”宏。2.7 學(xué)時(shí)小結(jié)第一學(xué)時(shí)著重講述錄制宏的基礎(chǔ)知識(shí),而本學(xué)時(shí)有兩個(gè)重點(diǎn):其一是學(xué)習(xí)可以存放宏的不同位置;其二是學(xué)習(xí)執(zhí)
33、行宏的不同方式。最初你只能通過(guò)使用“工具”、“宏”、“宏”菜單來(lái)執(zhí)行宏,現(xiàn)在知道了如何為宏指定快捷鍵,以及如何將宏指定給按鈕、圖片或者工具欄按鈕。不要忘了,當(dāng)編寫(xiě)V BA過(guò)程時(shí),可以使用這些技術(shù)。2.8 專(zhuān)家答疑問(wèn)題:學(xué)習(xí)宏對(duì)成為E xcel開(kāi)發(fā)者有什么幫助?解答:學(xué)習(xí)宏一方面能夠減少開(kāi)發(fā)時(shí)間。錄制宏比從頭開(kāi)始編寫(xiě)代碼要快得多。另一方面是通過(guò)對(duì)將宏指定給不同對(duì)象(按鈕、圖片和工具欄按鈕)的理解,可以學(xué)到更多設(shè)計(jì)應(yīng)用程序界面時(shí)所需的基礎(chǔ)知識(shí)。第2學(xué)時(shí)處理錄制的宏15問(wèn)題:可以將V BA代碼指定給按鈕、圖片和工具欄按鈕嗎?解答:可以,具體技術(shù)和本學(xué)時(shí)中講述的一樣。2.9 課外作業(yè)思考題和練習(xí)題是為
34、了使你能夠進(jìn)一步地理解所學(xué)內(nèi)容。答案請(qǐng)參考附錄。2.9.1 思考題1)判斷題:快捷鍵只有在第一次錄制宏時(shí)才能指定。2)可以存放宏的三個(gè)位置是什么?3)個(gè)人宏工作簿位于何處?4)判斷題:?jiǎn)?dòng)E xcel時(shí)個(gè)人宏工作簿會(huì)自動(dòng)打開(kāi)。5)判斷題:E xcel不允許將宏指定給已經(jīng)定義的快捷鍵。6)將宏指定給圖片的基本步驟是什么?2.9.2 練習(xí)題將在第一學(xué)時(shí)的練習(xí)題中創(chuàng)建的宏“Ti tle”指定給一個(gè)按鈕、一幅圖片以及一個(gè)工具欄按鈕。第3學(xué)時(shí)學(xué)習(xí)控件在上一學(xué)時(shí)中,不論是否意識(shí)到,你已經(jīng)開(kāi)始學(xué)習(xí)用戶(hù)界面設(shè)計(jì)的一些組成部分了。你學(xué)到了為應(yīng)用程序設(shè)計(jì)添加按鈕、圖片和工具欄按鈕的有關(guān)知識(shí)。在本學(xué)時(shí)中將以控件為重
35、點(diǎn)對(duì)所學(xué)知識(shí)進(jìn)行擴(kuò)展。本學(xué)時(shí)的重點(diǎn)包括: Excel開(kāi)發(fā)過(guò)程的簡(jiǎn)要介紹 不同控件類(lèi)型的討論 向工作表添加控件 設(shè)置控件的格式,將控件和工作表單元格鏈接起來(lái) 在應(yīng)用程序中使用用戶(hù)窗體3.1 Excel開(kāi)發(fā)過(guò)程的簡(jiǎn)要介紹不論創(chuàng)建什么樣的應(yīng)用程序,總是有多種方法可以實(shí)現(xiàn)。本學(xué)時(shí)將要介紹的是一種已經(jīng)成功應(yīng)用多年的方法。建立應(yīng)用程序的第一步是了解盡可能多的與該應(yīng)用程序有關(guān)的內(nèi)容。這意味著需要找到如下問(wèn)題的答案: 誰(shuí)將使用這個(gè)應(yīng)用程序? 應(yīng)用程序?qū)⒁褂玫臄?shù)據(jù)來(lái)源于何處? 應(yīng)用程序保存什么樣的數(shù)據(jù)? 應(yīng)用程序?qū)?shù)據(jù)進(jìn)行什么樣的操作? 應(yīng)用程序應(yīng)當(dāng)產(chǎn)生什么樣的輸出結(jié)果?3.1.1 誰(shuí)將使用這個(gè)應(yīng)用程序知道你
36、的應(yīng)用程序的用戶(hù)是誰(shuí),將有助于你決定應(yīng)用程序應(yīng)當(dāng)采用什么樣的外觀和給人什么樣的總體感覺(jué)。例如,如果設(shè)計(jì)將由熟練的E xcel用戶(hù)使用的應(yīng)用程序,那么,你也許希望用工作表作為基本的數(shù)據(jù)輸入機(jī)制。另一方面,如果你的用戶(hù)對(duì)E xcel并不熟悉,那么你也許會(huì)使用窗體來(lái)進(jìn)行數(shù)據(jù)輸入。3.1.2 應(yīng)用程序?qū)⒁褂玫臄?shù)據(jù)來(lái)源于何處數(shù)據(jù)是否已經(jīng)保存在E xcel工作簿中?還是從頭開(kāi)始輸入新的數(shù)據(jù)?或者從其他數(shù)據(jù)源導(dǎo)入數(shù)據(jù)?應(yīng)用程序的數(shù)據(jù)當(dāng)前保存在什么位置將成為影響開(kāi)發(fā)應(yīng)用程序方法的一個(gè)重要因素。3.1.3 應(yīng)用程序保存什么樣的數(shù)據(jù)數(shù)據(jù)將保存在和應(yīng)用程序相同的工作簿中還是保存到別的工作簿中?或者數(shù)據(jù)將保存為其他
37、類(lèi)型的數(shù)據(jù)文件,例如Microsoft Access、Microsoft SQL Server等等?如果數(shù)據(jù)將保存在工作簿中,那么在開(kāi)始編寫(xiě)代碼之前就應(yīng)該創(chuàng)建列數(shù)差不多夠用的工作表。第3學(xué)時(shí)學(xué)習(xí)控件3.1.4 應(yīng)用程序?qū)?shù)據(jù)進(jìn)行什么樣的操作17換句話說(shuō),應(yīng)用程序是否需要對(duì)數(shù)據(jù)進(jìn)行處理和分析?是否需要根據(jù)數(shù)據(jù)繪制圖表?是否需要對(duì)數(shù)據(jù)進(jìn)行計(jì)算?是否要建立數(shù)據(jù)透視表?是否需要對(duì)數(shù)據(jù)進(jìn)行分類(lèi)?通過(guò)提出類(lèi)似這些問(wèn)題,你會(huì)明白需要?jiǎng)?chuàng)建什么類(lèi)型的工作表以及工作表需要什么樣的公式。你也可以決定可用宏錄制器錄制什么類(lèi)型的操作。3.1.5 應(yīng)用程序應(yīng)當(dāng)產(chǎn)生什么樣的輸出結(jié)果這個(gè)問(wèn)題會(huì)導(dǎo)致你設(shè)計(jì)和創(chuàng)建另一組工作表。可
38、能需要為將要輸出的每個(gè)報(bào)表創(chuàng)建工作表?;卮疬@些問(wèn)題實(shí)際上是在對(duì)如何設(shè)計(jì)應(yīng)用程序進(jìn)行引導(dǎo)。了解上面所述的信息將使你作為E xcel開(kāi)發(fā)者的工作變得更容易。3.2 不同類(lèi)型的控件新術(shù)語(yǔ)你可以向工作表或者用戶(hù)窗體添加控件。用戶(hù)窗體實(shí)際上是創(chuàng)建的窗口或者對(duì)話框,是用戶(hù)界面的一部分。對(duì)能夠添加到工作表中的控件的限制比添加到用戶(hù)窗體中的控件要嚴(yán)格。首先要討論的控件是能夠添加到工作表中的控件,這些控件也可以添加到用戶(hù)窗體中。開(kāi)始前請(qǐng)關(guān)閉E xcel中所有已經(jīng)打開(kāi)的工作簿,打開(kāi)一個(gè)新的工作簿。在工具欄上單擊鼠標(biāo)右鍵,從菜單中選擇“窗體”,顯示“窗體”工具欄如圖3 -1所示。這個(gè)工具欄包括1 6個(gè)控件,但是只有
39、9個(gè)可用,這9個(gè)控件可以放置到工作表上。圖3-1 “窗體”工具欄包括多種可放置到工作表上的控件新術(shù)語(yǔ)“窗體”工具欄上的第一個(gè)控件是標(biāo)簽。標(biāo)簽是靜態(tài)的文本區(qū)域,用于標(biāo)識(shí)其他界面元素或者提供信息。因?yàn)闃?biāo)簽是靜態(tài)控件,所以用戶(hù)不能改變它們的內(nèi)容。標(biāo)簽的例子如圖3 -2所示。在圖3 -2中,箭頭從“窗體”工具欄上的標(biāo)簽控件指向工作表上的標(biāo)簽對(duì)象。下一個(gè)可用于工作表的是分組框控件。分組框控件用于將其他控件進(jìn)行組合。分組框控件提供可見(jiàn)的方框,以便用戶(hù)知道哪些是與同一內(nèi)容有關(guān)的組合起來(lái)的控件。要查看分組框的例子,請(qǐng)選擇“文件”、“打印”?!按蛴?nèi)容”分組框包括一系列用于選擇要打印的工作表區(qū)域的選項(xiàng)按鈕。18
40、中文Excel 2000編程2 4學(xué)時(shí)教程圖3-2 “標(biāo)簽”允許向工作表中放置靜態(tài)文本,不用放置到單元格中“窗體”工具欄中分組框之后的控件是在第二學(xué)時(shí)“對(duì)記錄下來(lái)的宏進(jìn)行處理”中已經(jīng)熟悉的按鈕控件。因?yàn)橛脩?hù)對(duì)按鈕控件很熟悉,所以適于在應(yīng)用程序中使用。用戶(hù)在Wi ndows中到處都能見(jiàn)到諸如“確定”、“取消”、“是”、“否”等按鈕。下面兩個(gè)控件是復(fù)選框和選項(xiàng)按鈕,它們有一個(gè)共同的目的:允許用戶(hù)在各種選項(xiàng)中進(jìn)行選擇,這是它們的相同點(diǎn)。復(fù)選框如圖3 -3所示,是一個(gè)開(kāi)關(guān)控件,這意味著在該控件上重復(fù)地單擊將不斷地打開(kāi)和關(guān)閉它。如果多個(gè)復(fù)選框控件組合在一起,那么用戶(hù)可以選中一個(gè)、幾個(gè)或者全部復(fù)選框。復(fù)選
41、框類(lèi)似A與/或B選擇(可以選中復(fù)選框1,與/或復(fù)選框2,與/或復(fù)選框3,等等)。圖3-3 復(fù)選框使用戶(hù)易于從多個(gè)選項(xiàng)中進(jìn)行選擇另一方面,如果將一組選項(xiàng)按鈕組合在一起(如圖3 -4所示),那么只能選中其中的一個(gè)。選項(xiàng)按鈕類(lèi)似或者A或者B的選擇(選中選項(xiàng)按鈕1,或者選項(xiàng)按鈕2,或者選項(xiàng)按鈕3,等等)。通常情況下,可用分組框?qū)?fù)選框和選項(xiàng)按鈕進(jìn)行組織。第3學(xué)時(shí)學(xué)習(xí)控件19圖3-4 選項(xiàng)按鈕使用戶(hù)知道他們只能選擇一個(gè)列表框和組合框控件用來(lái)顯示從多個(gè)選項(xiàng)中進(jìn)行選擇。例如,如果希望用戶(hù)從一系列區(qū)域中進(jìn)行選擇,可以把各個(gè)區(qū)域放置在列表框中。列表框(如圖3 -5所示)只允許用戶(hù)進(jìn)行單選。而組合框(如圖3 -6
42、所示)則允許用戶(hù)從列出的項(xiàng)目中進(jìn)行選擇或者輸入一個(gè)其他值。組合框的名字來(lái)源于它是列表框和文本框功能的組合。圖3-5 列表框控件允許用戶(hù)從多個(gè)選項(xiàng)中選擇,如果可用的選擇太多,列表框中不能一次顯示出來(lái),則可以使用滾動(dòng)條來(lái)查看其他選項(xiàng)列表框和組合框在允許用戶(hù)從可能的選項(xiàng)中進(jìn)行選擇的功能上和選項(xiàng)按鈕相似。許多開(kāi)發(fā)者都采用如下的使用規(guī)則:如果選項(xiàng)多于三個(gè),則使用列表框或者組合框。圖3 -5列表框允許用戶(hù)從多個(gè)選項(xiàng)中進(jìn)行選擇。如果選項(xiàng)太多不能在列表框中顯示出來(lái),20中文Excel 2000編程2 4學(xué)時(shí)教程用戶(hù)可用滾動(dòng)條查看其他的選項(xiàng)。圖3-6 組合框控件是使用戶(hù)從多個(gè)選項(xiàng)中進(jìn)行選擇的另一個(gè)解決途徑可以放
43、置到工作表上的最后兩個(gè)控件是滾動(dòng)條控件和微調(diào)控件。滾動(dòng)條控件(如圖3 -7所示)不是你所見(jiàn)到用來(lái)給很長(zhǎng)的窗體添加滾動(dòng)能力的控件,而是一種選擇機(jī)制。如果你曾經(jīng)使用過(guò)圖形程序,那么也許曾經(jīng)用過(guò)滾動(dòng)條來(lái)使畫(huà)面變得更亮或者更暗,或者從同一顏色的不同數(shù)值中進(jìn)行選擇。圖3-7 滾動(dòng)條包括水平滾動(dòng)條和垂直滾動(dòng)條,這取決于如何設(shè)計(jì)微調(diào)控件(如圖3 -8所示)也是一種數(shù)值選擇機(jī)制。如果你曾經(jīng)改變過(guò)Wi ndows系統(tǒng)的日第3學(xué)時(shí)學(xué)習(xí)控件21期或時(shí)間,那么就可能使用過(guò)微調(diào)控件。圖3-8 微調(diào)控件是一個(gè)復(fù)雜的控件,允許用戶(hù)單擊箭頭按鈕來(lái)選擇數(shù)值3.3 向工作表添加控件我經(jīng)常告訴我的學(xué)生,如果他們能夠在Wi ndow
44、s的附件畫(huà)圖中畫(huà)矩形,那么他們就具有在E xcel環(huán)境中設(shè)計(jì)界面的技巧。這主要是為了說(shuō)明在E xcel中設(shè)計(jì)界面是如何簡(jiǎn)單。要將任何可用的控件放置到工作表或者窗體上,可以按照如下步驟進(jìn)行:1)從工具欄上選擇要用的控件。2)將鼠標(biāo)定位到希望該控件所要放置的位置。3)按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo)直至矩形變?yōu)橄M目丶拇笮 ?)釋放鼠標(biāo)左鍵,這樣控件就添加完畢。設(shè)計(jì)界面的過(guò)程和繪制一組矩形的過(guò)程差不多。要說(shuō)明這一點(diǎn),請(qǐng)完成如下步驟:1)打開(kāi)一個(gè)新的工作簿。2)顯示“窗體”工具欄。3)選擇“標(biāo)簽”按鈕。4)將鼠標(biāo)定位到單元格E 1上,此時(shí)鼠標(biāo)看上去像一個(gè)加號(hào)。5)按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo)直至矩形變?yōu)榇蠹s四個(gè)
45、單元格,釋放鼠標(biāo)左鍵。6)在L abel1上的L前單擊鼠標(biāo)左鍵,按下D elete鍵直至標(biāo)簽上的文本完全刪除。7)輸入“This is an example of a label control.”。8)在標(biāo)簽之外單擊鼠標(biāo)左鍵,使標(biāo)簽不再被選中。完成后的外觀看上去應(yīng)該和圖3 -9相似。9)從“窗體”工具欄中選擇復(fù)選框控件。1 0)將鼠標(biāo)定位到單元格E 5上,此時(shí)鼠標(biāo)看上去像一個(gè)加號(hào)。11)按下鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo)直至矩形變?yōu)榇蠹s四個(gè)單元格,釋放鼠標(biāo)左鍵。22中文Excel 2000編程2 4學(xué)時(shí)教程圖3-9 通過(guò)在工作表中添加標(biāo)簽,可以放置不被工作表上的單元格限制的文本1 2)使用與上述相同的步
46、驟,向工作表中添加一個(gè)滾動(dòng)條控件和一個(gè)微調(diào)控件,直至工作表看上去和圖3 -10相似。圖3-10 添加了控件后的工作表在添加完控件之后,可以調(diào)整它們的大小和位置,直到滿意為止。要改變控件的大小和位置,首先應(yīng)當(dāng)選中該控件。在控件上單擊鼠標(biāo)左鍵不能選中控件進(jìn)行編輯,而應(yīng)當(dāng)在控件上單擊鼠標(biāo)右鍵。這使得控件處于一種編輯模式,并且顯示出一個(gè)菜單。因?yàn)椴挥檬褂貌藛?,所以可在選中控件的邊框上單擊鼠標(biāo)左鍵,被選中的控件周?chē)霈F(xiàn)灰色的邊框。要移動(dòng)控件,可在控件的灰色邊框上移動(dòng)鼠標(biāo),直到鼠標(biāo)形狀變?yōu)樗膫€(gè)方向的箭頭。按下鼠標(biāo)左鍵將控件拖動(dòng)到新的位置。注意被選中的控件的邊框上有八個(gè)小方塊,這些方塊是調(diào)節(jié)控件大小的控制柄
47、。要改變控件的大小,將鼠標(biāo)移動(dòng)到尺寸控制柄上,直到鼠標(biāo)變?yōu)殡p向箭頭。按下鼠標(biāo)左鍵,拖動(dòng)尺寸控制柄直至對(duì)控件大小滿意為止。第3學(xué)時(shí)學(xué)習(xí)控件23如果希望處理、移動(dòng)多個(gè)控件或者調(diào)整多個(gè)控件的大小等,可選中第一個(gè)控件,一直按著Ctrl和S hift鍵,再用鼠標(biāo)單擊另一個(gè)控件,則兩個(gè)控件都被選中。繼續(xù)按著C trl和S hift鍵,單擊控件,直到選中希望改變的所有控件為止。3.4 設(shè)置控件的格式你也許想知道怎樣使用已經(jīng)放置在工作表上的控件??梢詫⒑曛付ńo它們,此外,還有別的使用它們的方法??捎盟鼈儊?lái)為工作表輸入數(shù)據(jù),通過(guò)設(shè)置控件的格式可以做到這一點(diǎn)。設(shè)置控件的格式可以控制控件的外觀和功能。設(shè)置控件的格式
48、可按照如下步驟進(jìn)行:1)選中要放置在工作表上的復(fù)選框控件。2)在控件上單擊鼠標(biāo)右鍵,選擇“設(shè)置控件格式”,顯示“設(shè)置控件格式”對(duì)話框。3)選擇“控制”選項(xiàng)卡,如圖3 -11所示。圖3 -11 “設(shè)置控件格式”對(duì)話框中的“控制”選項(xiàng)卡允許將控件的值和單元格鏈接起來(lái)4)在“單元格鏈接”文本框中,輸入“A 1”并單擊“確定”按鈕。5)在復(fù)選框之外單擊鼠標(biāo)左鍵,使復(fù)選框不再被選中。6)用鼠標(biāo)左鍵單擊復(fù)選框?qū)⑵溥x中,在單元格A 1中顯示出“T RUE”,這意味著復(fù)選框已經(jīng)被選中。7)再次在復(fù)選框上單擊鼠標(biāo)左鍵,清除該復(fù)選框。單元格A 1顯示“FA LSE”??梢杂肊 xcel的“I F”函數(shù)來(lái)檢測(cè)單元格
49、A 1的數(shù)值,并根據(jù)該單元格的值是“T RUE”還是“FA LSE”執(zhí)行不同的操作或者計(jì)算。例如,假設(shè)希望選中復(fù)選框時(shí)將一個(gè)數(shù)值增加2 0,可以使用如下的公式:I F(A 1T RUE,A 41 .2,A 4)。8)選中剛才創(chuàng)建的滾動(dòng)條控件。9)在控件上單擊鼠標(biāo)右鍵,選擇“設(shè)置控件格式”,顯示“設(shè)置控件格式”對(duì)話框。1 0)選擇“控制”選項(xiàng)卡,如圖3 -12所示。11)在“單元格鏈接”文本框中輸入“A 3”并單擊“確定”按鈕。24中文Excel 2000編程2 4學(xué)時(shí)教程圖3-12 選中的控件不同,則“控制”選項(xiàng)卡顯示的內(nèi)容也不相同1 2)在滾動(dòng)條控件之外單擊鼠標(biāo)左鍵,使?jié)L動(dòng)條不再被選中。1
50、3)用鼠標(biāo)單擊滾動(dòng)條上向右的箭頭,則單元格A 3的數(shù)值增加1。繼續(xù)單擊滾動(dòng)條上向右的箭頭增加單元格A 3的數(shù)值。1 4)將工作簿保存為“C ontrol”并將其關(guān)閉?,F(xiàn)在可以看到,通過(guò)使用控件、設(shè)置格式和公式,可以執(zhí)行一些簡(jiǎn)單的自動(dòng)化任務(wù)(至少對(duì)你的用戶(hù)來(lái)說(shuō)是這樣)。3.5 給控件命名當(dāng)創(chuàng)建一個(gè)控件時(shí),E xcel會(huì)為它指定一個(gè)不很形象的名字,諸如“復(fù)選框1”或者“滾動(dòng)條7”等等。當(dāng)準(zhǔn)備用這些控件來(lái)編寫(xiě)代碼時(shí),你會(huì)發(fā)現(xiàn),如果使用E xcel定義的名字,很難記住哪個(gè)控件是用來(lái)干什么的。大多數(shù)開(kāi)發(fā)者在為控件命名時(shí)都使用一種命名的慣例。通常情況下,命名的慣例使用名字的前三個(gè)字母的前綴表示控件的類(lèi)別。
51、例如,如果創(chuàng)建一個(gè)與貨運(yùn)優(yōu)先級(jí)有關(guān)的復(fù)選框,那么可以將其命名為“c hkPriorityShipping”。在本例中,c hk是用來(lái)表示復(fù)選框的前綴。表3 -1列出了通常用來(lái)為控件命名的前綴。表3-1 推薦的控件命名前綴控件類(lèi)型復(fù)選框組合框命令按鈕前綴c hkc bocmd 或者b tn因?yàn)槟撤N原因,M icrosoft給命令按鈕取了兩個(gè)名字。在“窗體”工具欄中,稱(chēng)為按鈕,而在工具箱中稱(chēng)為命令按鈕。在Visual Basic中,稱(chēng)之為命令按鈕。也許這個(gè)控件最常用的前綴應(yīng)該是c md。分組框g rp或者f ra因?yàn)槟撤N原因,M icrosoft給分組框(Group Box)取了兩個(gè)名字。在“窗體
52、”工具欄中,稱(chēng)為分組框,而在工具箱中稱(chēng)為框架( frame)。在Vi sualB asic中,稱(chēng)之為框架( frame)。也許這個(gè)控件最常用的前綴應(yīng)該是f ra。(續(xù))控件類(lèi)型圖像標(biāo)簽列表框多頁(yè)(M ultiPage)選項(xiàng)按鈕引用編輯(R efEdit)滾動(dòng)條微調(diào)項(xiàng)選項(xiàng)卡條(Ta bStrip)文本框切換按鈕前綴i mgl bll stm ulo ptr efh sb或者v sb,取決于是水平的還是垂直的s pnt abt xtt og為控件取名的方法基本上和給單元格或者區(qū)域取名的方法相同。選中某個(gè)控件,再用位于公式欄上的“名字”編輯框輸入控件的名字??砂凑杖缦虏襟E進(jìn)行:1)在標(biāo)簽上單擊鼠標(biāo)左
53、鍵將其選中。2)單擊規(guī)則欄上的“名字”編輯框(此時(shí)也許會(huì)看到控件當(dāng)前的名字是“標(biāo)簽1”)。3)輸入“l(fā) blExample”作為控件的名字并按回車(chē)鍵。這樣就為控件更改了名字。3.6 使用用戶(hù)窗體如果希望為應(yīng)用程序添加專(zhuān)業(yè)級(jí)的外觀,并且使用戶(hù)能夠更容易地輸入數(shù)據(jù),那么應(yīng)該使用用戶(hù)窗體。用戶(hù)窗體可作為應(yīng)用程序的對(duì)話框和窗口。向用戶(hù)窗體添加控件和向工作表中添加控件相同。然而,在第一步中,需要為應(yīng)用程序添加用戶(hù)窗體。這可以通過(guò)B asic編輯器實(shí)現(xiàn)。具體可以按照如下步驟:1)創(chuàng)建一個(gè)新的工作簿。2)選擇“工具”、“宏”、“Visual Basic編輯器”,打開(kāi)Visual Basic編輯器。3)選擇工
54、具欄上的“插入用戶(hù)窗體”按鈕或者選擇“插入”、“用戶(hù)窗體”,顯示出新添加的用戶(hù)窗體,如圖3 -13所示。Vi s u a l26中文Excel 2000編程2 4學(xué)時(shí)教程新添加的用戶(hù)窗體具有一個(gè)小的名為U serForm1的標(biāo)題欄。窗體中顯示的網(wǎng)格是用來(lái)幫助放置控件的設(shè)計(jì)工具。當(dāng)窗體在應(yīng)用程序中顯示出來(lái)時(shí)不會(huì)出現(xiàn)網(wǎng)格。當(dāng)用戶(hù)窗體打開(kāi)時(shí),“工具箱”自動(dòng)顯示出來(lái),如圖3 -14所示。在工具箱中可以看到許多已經(jīng)熟悉的控件,包括標(biāo)簽控件、復(fù)選框控件、選項(xiàng)按鈕控件和命令按鈕控件。此外還有幾個(gè)附加的控件。圖3-14 工具箱中包括了可上的控件以放置到用戶(hù)窗體新術(shù)語(yǔ)切換按鈕控件如果被選中,那么會(huì)保持被按下的狀
55、態(tài)。如果再次單擊它,則恢復(fù)為沒(méi)有按下的狀態(tài)。幾個(gè)工具欄按鈕實(shí)際上是切換按鈕。例如,當(dāng)單擊“格式”工具欄上的“加粗”工具欄按鈕時(shí),這個(gè)按鈕就一直保持被按下的狀態(tài)(顯示為凹下),表示打開(kāi)了“加粗”狀態(tài)。再次單擊“加粗”工具欄按鈕可以關(guān)閉“加粗”狀態(tài),此時(shí)按鈕看上去恢復(fù)原狀。新術(shù)語(yǔ)選項(xiàng)卡條(Ta bStrip)是包含多個(gè)選項(xiàng)卡的控件。選項(xiàng)卡條控件用來(lái)將相關(guān)的信息進(jìn)行組織和分組。例如,你也許希望用選項(xiàng)卡條來(lái)顯示各個(gè)區(qū)域的銷(xiāo)售信息,每個(gè)區(qū)域都有自己的選項(xiàng)卡。默認(rèn)設(shè)置下,選項(xiàng)卡條包括兩頁(yè),稱(chēng)為T(mén)a b1和Ta b2??梢蕴砑痈嗟倪x項(xiàng)卡。多頁(yè)多頁(yè)控件看上去和選項(xiàng)卡控件相似,是包括一頁(yè)或者多頁(yè)的控件。選項(xiàng)卡
56、條控件的各個(gè)選項(xiàng)卡具有相似的外觀,給人以相似的感覺(jué)。而多頁(yè)控件的各頁(yè)是包含各自控件的窗體,它們都具有各自的布局。多頁(yè)的例子是“選項(xiàng)”對(duì)話框中的多頁(yè)控件,選擇“工具”、“選項(xiàng)”便可以看到。圖像控件包括: .bmp .cur .gif .ico .jpg .wmfRefEdit 這是工具箱中的最后一個(gè)控件。R efEdit控件看上去和文本框控件相似,不同之處在于R efEdit控件有一個(gè)按鈕,通過(guò)這個(gè)按鈕,可以將用戶(hù)窗體折疊起來(lái),以便選擇一個(gè)區(qū)域。圖3 -15顯示了一個(gè)包含R efEdit控件的窗體。圖3 -16顯示了這個(gè)R efEdit控件的按鈕被單擊,圖像控件允許向用戶(hù)窗體上放置圖片。圖像控件可以顯示的圖像文件類(lèi)型第3學(xué)時(shí)學(xué)習(xí)控件用戶(hù)窗體被折疊起來(lái)后的外觀。在使用“粘貼函數(shù)”對(duì)話
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中外教育史試題及答案
- 中醫(yī)消化內(nèi)科試題及答案
- 浙江省安吉縣上墅私立高級(jí)中學(xué)2024-2025學(xué)年高二生物第二學(xué)期期末調(diào)研試題含解析
- 西寧市重點(diǎn)中學(xué)2025屆數(shù)學(xué)高二下期末考試試題含解析
- 礦業(yè)臨時(shí)彩鋼房設(shè)計(jì)與安全監(jiān)管合同范本
- 綠色建筑財(cái)務(wù)代理與節(jié)能減排合同
- 精養(yǎng)肉牛代養(yǎng)服務(wù)合同
- 采棉機(jī)操作員安全責(zé)任合同書(shū)
- 車(chē)輛銷(xiāo)售與廣告宣傳合作合同
- 智能家居產(chǎn)品采購(gòu)合同知識(shí)產(chǎn)權(quán)及用戶(hù)隱私保密協(xié)議
- 歌曲《花非花》教案設(shè)計(jì)
- 2024年江西省中考生物試卷(含答案)
- 辦公樓室內(nèi)裝飾工程施工設(shè)計(jì)方案技術(shù)標(biāo)范本
- 2024年無(wú)錫市濱湖區(qū)名小六年級(jí)畢業(yè)考試語(yǔ)文模擬試卷
- 校服供貨服務(wù)方案
- 中職語(yǔ)文基礎(chǔ)模塊下冊(cè)第六單元測(cè)試卷-【中職專(zhuān)用】(高教版2023基礎(chǔ)模塊下冊(cè))解析版
- C6150車(chē)床主軸箱箱體加工工藝及夾具說(shuō)明書(shū)
- 健康與免疫智慧樹(shù)知到期末考試答案2024年
- 新媒體視頻節(jié)目制作 課件 學(xué)習(xí)領(lǐng)域1 新聞短視頻制作
- 礦山應(yīng)急救援鉆探技術(shù)規(guī)范
- 秦始皇帝陵的物探考古調(diào)查863計(jì)劃秦始皇陵物探考古進(jìn)展情況的報(bào)告
評(píng)論
0/150
提交評(píng)論