




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第十一章 利用VBA提高工作效率Visual Basic for Applications(簡稱VBA)是新一代標(biāo)準(zhǔn)宏語言,是基于Visual Basic for Windows 發(fā)展而來的。它與傳統(tǒng)的宏語言不同,傳統(tǒng)的宏語言不具有高級語言的特征,沒有面向?qū)ο蟮某绦蛟O(shè)計(jì)概念和方法。而VBA 提供了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,提供了相當(dāng)完整的程序設(shè)計(jì)語言。VBA 易于學(xué)習(xí)掌握,可以使用宏記錄器記錄用戶的各種操作并將其轉(zhuǎn)換為VBA 程序代碼。這樣用戶可以容易地將日常工作轉(zhuǎn)換為VBA 程序代碼,使工作自動化。因此,對于在工作中需要經(jīng)常使用Office 套裝軟件的用戶,學(xué)用VBA 有助于使工作自動化,提高
2、工作效率。另外,由于VBA 可以直接應(yīng)用Office套裝軟件的各項(xiàng)強(qiáng)大功能,所以對于程序設(shè)計(jì)人員的程序設(shè)計(jì)和開發(fā)更加方便快捷。11.1 VBA 基礎(chǔ)Visual Basic 的應(yīng)用程序版(VBA)是Microsoft 公司長期追求的目標(biāo),使可編程應(yīng)用軟件得到完美的實(shí)現(xiàn),它作為一種通用的宏語言可被所有的Microsoft 可編程應(yīng)用軟件所共享。在沒有VBA 以前,一些應(yīng)用軟件如Excel、Word、Access、Project 等都采用自己的宏語言供用戶開發(fā)使用,但每種宏語言都是獨(dú)立的,需要用戶專門去學(xué)習(xí),它們之間互不兼容,使得應(yīng)用軟件之間不能在程序上互聯(lián)。擁有一種可跨越多個應(yīng)用軟件,使各應(yīng)用軟
3、件產(chǎn)品具有高效、靈活且一致性的開發(fā)工具是至關(guān)重要的。VBA 作為一種新一代的標(biāo)準(zhǔn)宏語言,具有上述跨越多種應(yīng)用軟件并且具有控制應(yīng)用軟件對象的能力,使得程序設(shè)計(jì)人員僅需學(xué)習(xí)一種統(tǒng)一的標(biāo)準(zhǔn)宏語言,就可以轉(zhuǎn)換到特定的應(yīng)用軟件上去,程序設(shè)計(jì)人員在編程和調(diào)試代碼時所看到的是相同的用戶界面,而且VBA 與原應(yīng)用軟件的宏語言相兼容,以保障用戶在代碼和工作上的投資。有了VBA 以后,多種應(yīng)用程序共用一種宏語言,節(jié)省了程序人員的學(xué)習(xí)時間,提高了不同應(yīng)用軟件間的相互開發(fā)和調(diào)用能力。在Office 2000 中,宏語言VBA 適用于所有應(yīng)用程序,包括Word 、Excel、PowerPoint、Access、Outl
4、ook 以及Project。在Office 97的各應(yīng)用程序中,新增了Visual Basic 編輯器。這樣,用戶無論是在Excel 中,還是在Word 中以至是在Access 中建立和管理VBA都具有統(tǒng)一的方法和標(biāo)準(zhǔn)。在介紹如何利用VBA 提高工作效率之前,首先介紹一些與VBA 有關(guān)的基礎(chǔ)知識。11.1.1 VB 與VBAVBA 是基于Visual Basic 發(fā)展而來的,它們具有相似的語言結(jié)構(gòu)。Visual Basic 是Microsoft 的主要圖形界面開發(fā)工具,VBA 5.0(亦即VBA 97)則是Visual Basic 5.0 的子集。Visual Basic 是由Basic 發(fā)展
5、而來的第四代語言。Visual Basic 作為一套獨(dú)立的Windows 系統(tǒng)開發(fā)工具,可用于開發(fā)Windows 環(huán)境下的各類應(yīng)用程序,是一種可視化的、面向?qū)ο蟮?、采用事件?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計(jì)語言。它具有高效率、簡單易學(xué)及功能強(qiáng)大的特點(diǎn)。VB的程序語言簡單、便捷,利用其事件驅(qū)動的編程機(jī)制,新穎易用的可視化設(shè)計(jì)工具,并使用Windows 應(yīng)用程序接口(API)函數(shù),采用動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)以及開放式數(shù)據(jù)庫訪問(ODBC)等技術(shù),可以高效、快速地編制出Windows 環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。Visual Basic 程
6、序很大一部分以可視(Visual)形式實(shí)現(xiàn),這意味著在設(shè)計(jì)階段就可以看到程序運(yùn)行的屏幕畫面,用戶可以在設(shè)計(jì)時能夠方便地改動畫面圖像、大小、顏色等,直到滿意為止。VB 的用戶可以是缺乏Windows 及C 語言開發(fā)經(jīng)驗(yàn)的專業(yè)軟件人員,也可以是具有一定Windows 開發(fā)經(jīng)驗(yàn)的專業(yè)人員,VB 的可視化編程方法使得原來繁瑣枯燥、令人生畏的Windows 應(yīng)用程序設(shè)計(jì)變得輕松自如、妙趣橫生。以往的Windows 應(yīng)用程序開發(fā)工具在設(shè)計(jì)圖形用戶界面時,都是采用編程的方法,并伴隨大量的計(jì)算任務(wù),一個大型應(yīng)用程序約有90%的程序代碼用來處理用戶界面,而且在程序設(shè)計(jì)過程中不能看到界面顯示的效果,只有在程序執(zhí)行
7、時才能觀察到,如果界面效果不佳,還需要回到程序中去修改。Visual Basic 提供了新穎的可視化設(shè)計(jì)工具,巧妙地將Windows 界面設(shè)計(jì)的復(fù)雜性封裝起來,程序開發(fā)人員不必再為界面設(shè)計(jì)而編寫大量程序代碼,僅需采用現(xiàn)有工具按設(shè)計(jì)者要求的布局,在屏幕上畫出所需界面,并為各圖形對象設(shè)置屬性即可,VB 自動產(chǎn)生界面設(shè)計(jì)代碼,這樣便將事先編制好的控件可視地連接到一起,構(gòu)成一個隨時可調(diào)整的界面。VBA 不但繼承了VB 的開發(fā)機(jī)制,而且VBA 還具有與VB 相似的語言結(jié)構(gòu),它們的集成開發(fā)環(huán)境IDE(Intergrated DevelopmentEnvironment)也幾乎相同。但是,經(jīng)過優(yōu)化,VBA
8、專門用于Office的各應(yīng)用程序。VB 可運(yùn)行直接來自Windows 95 或NT 桌面上的應(yīng)用程序,而VBA 的項(xiàng)目(Project)僅由使用VBA 的Excel、Word、PowerPoint 等稱為宿主(Host)的Office 應(yīng)用程序(Application)來調(diào)用。11.1.2 WordBasic 和Visual Basic在Word 中,為完成具體的任務(wù),所用的是WordBasic 命令。WordBasic 是從VBA 擴(kuò)展而來的一種專用于處理Word 自動功能的語言,下面介紹它們在概念上的區(qū)別和它們的宏的相互轉(zhuǎn)換。 WordBasic 和Visual Basic
9、 在概念上的區(qū)別VBA 和WordBasic 之間主要的區(qū)別是WordBasic 語言包含由大約900 個命令組成的一張平面列表,而Visual Basic 則包含了由對象組成的一個分層結(jié)構(gòu),每個對象都可提供一組特定方法和屬性(與WordBasic 中的語句和函數(shù)相似)。大多數(shù)WordBasic 命令在任何時候都可運(yùn)行,而Visual Basic 只在特定的時候提供有效對象的方法和屬性。注意:本書提到的Visual Basic 如果不加特別說明,都是指VisualBasic For Applications。對象是Visual Basic 這一宏偉大廈的基石,在Visual Basic 中進(jìn)行
10、的幾乎任何操作都與修改對象有關(guān)。Word 的任何元素(如文檔、段落、域、書簽等),都可以用Visual Basic 中的對象來代表。與平面列表中的命令不同,部分對象只能通過其他對象才能加以訪問。例如,可以通過不同的對象(如Style、Selection 和Find 對象)來訪問Font 對象。應(yīng)用加粗格式的編程任務(wù)就表明了兩種編程語言之間的區(qū)別。下面的WordBasic 指令對所選內(nèi)容應(yīng)用加粗格式。下面的示例是Visual Basic 語句,也是對所選內(nèi)容應(yīng)用加粗格式。Selection.Font.Bold = TrueVisual Basic 不包含Bold 語句和函數(shù),卻有一個名為Bold
11、 的屬性(屬性通常指一個對象的特性,例如大小、顏色,或者是否是加粗)。Bold 是Font 對象的一個屬性。同樣地,F(xiàn)ont 是返回一個Font 對象的Selection 對象的一個屬性。按照下面的對象結(jié)構(gòu),可以生成指令,以將加粗格式應(yīng)用于所選內(nèi)容。Bold 屬性是一個Boolean 類型、可讀寫的屬性。這意味著可以將Bold 屬性設(shè)置為True 或False(真或假),也可返回當(dāng)前值。下面WordBasic 指令的返回值表明是否將加粗格式應(yīng)用于所選內(nèi)容。x = Bold()下面的示例是Visual Basic 語句,返回所選內(nèi)容的加粗格式的狀態(tài)。x = Selection.Font.Bold
12、要在Visual Basic 中執(zhí)行一個任務(wù),就需要確定合適的對象。例如,如果用戶想應(yīng)用【字體】對話框中的字符格式,可使用Font對象。然后需要確定如何理順從Application 對象到Font 對象的Word 對象結(jié)構(gòu),以找到包含需要修改的Font 對象的對象。在確定了該對象的路徑之后(例如,Selection.Font),可使用Visual Basic編輯器中的【對象瀏覽器】、【幫助】或【自動列表成員】之類的功能來確定可將什么屬性和方法應(yīng)用于該對象。 將WordBasic 宏轉(zhuǎn)換為Visual Basic宏可使任務(wù)自動化,如果在Word 中重復(fù)進(jìn)行某項(xiàng)工作,可用宏使其自動
13、執(zhí)行。宏是將一系列的Word 命令和指令組合在一起,形成一個命令,以實(shí)現(xiàn)任務(wù)執(zhí)行的自動化。用戶可創(chuàng)建并執(zhí)行一個宏,以替代人工進(jìn)行一系列費(fèi)時而重復(fù)的Word 操作。事實(shí)上,它是一個自定義命令,用來完成所需任務(wù)。宏的一些典型應(yīng)用如:加速日常編輯和格式設(shè)置、組合多個命令、使對話框中的選項(xiàng)更易于訪問、使一系列復(fù)雜的任務(wù)自動執(zhí)行等。Word 提供了兩種創(chuàng)建宏的方法:宏錄制器和Visual Basic 編輯器。宏錄制器可幫助用戶開始創(chuàng)建宏。Word 在VBA 編程語言中把宏錄制為一系列的Word 命令??稍赩isual Basic 編輯器中打開已錄制的宏,修改其中的指令。也可用Visual Basic 編
14、輯器創(chuàng)建包括Visual Basic 指令的非常靈活和強(qiáng)有力的宏,這些指令無法采用錄制的方式。當(dāng)?shù)谝淮芜M(jìn)行下列任何操作時,Word 2000 將自動轉(zhuǎn)換Word 6.x或Word 95 模板中的宏。 打開該模板。 基于該模板創(chuàng)建一篇新文檔。 使用【工具】菜單中的【模板】命令將模板附加給一篇文檔。在轉(zhuǎn)換宏時,在狀態(tài)欄會顯示一條信息。轉(zhuǎn)換結(jié)束后,必須保存模板,以保存轉(zhuǎn)換后的宏。如果不保存模板,那么下次使用該模板時,Word 會再次轉(zhuǎn)換這些宏。宏里面的每個WordBasic 語句和函數(shù)都轉(zhuǎn)換為相應(yīng)的WordBasic 方法。轉(zhuǎn)換過程將每個宏都轉(zhuǎn)換為Visual Basic 模塊。如要查看轉(zhuǎn)換過的宏,
15、可在【工具】菜單上將鼠標(biāo)指向【宏】,并單擊【宏】命令。在【宏】對話框中的宏名稱顯示為macroname.Main,其中Main 指轉(zhuǎn)換宏中的主子程序(該子程序在以前版本的Word 中以Sub MAIN 開頭)。要編輯轉(zhuǎn)換過的宏,可選擇一個宏名,單擊【編輯】按鈕,就可在Visual Basic 編輯器中顯示該Visual Basic模塊。對每個WordBasic 語句進(jìn)行修改,以適應(yīng)VBA。轉(zhuǎn)換過的WordBasic 宏的功能與編寫或錄制的新VBA 宏相同,但并不完全相同。下面的示例是一個Word 95 模板中的WordBasic 宏。Sub MAINFormatFont .Name = Ari
16、al, .Points = 10Insert Hello WorldEnd Sub當(dāng)該模板在Word 2000 中打開時,該宏轉(zhuǎn)換為下列代碼。Public Sub Main()WordBasic.FormatFont Font:=Arial, Points:=10WordBasic.Insert Hello WorldEnd Sub轉(zhuǎn)換過的宏中的每個語句以WordBasic 屬性(WordBasic 屬性返回一個自動化對象【W(wǎng)ord.Basic】,該對象包含了在Word 6.0 和Word for Windows 95 中所有可用的WordBasic 語句和函數(shù)的方法)開頭。WordBasic
17、 是Word 2000 對象模型中的一個屬性,該模型返回一個對象及所有的WordBasic 語句和函數(shù);該對象使得在Word2000 中運(yùn)行WordBasic 宏成為可能。注意:如果在保存該模板時覆蓋原來的模板,則該WordBasic 宏會永久地丟失,并且以前版本的Word 也不能使用轉(zhuǎn)換過的宏。Word 97 中的宏在Word 2000 中像在Word 97 中一樣使用而無需轉(zhuǎn)換。下面的Visual Basic 宏與以前的WordBasic 宏的功能相同,但是沒有使用WordBasic 屬性。Public Sub Main()With Selection.Font.Name = Arial.
18、Size = 10End WithSelection.TypeText Text:=Hello WorldEnd Sub下面的示例是用Word.Basic 對象新建一篇文檔,然后插入有效字體的名稱。每個字體名稱以與之相應(yīng)的字體顯示。如:“楷體,隸書、宋體”。With WordBasic.FileNewDefaultFor aCount = 1 To .CountFonts().Font .Font$(aCount).Insert .Font$(aCount).InsertParaNextEnd With11.1.3 對象、屬性和方法 Word 對象VBA 與傳統(tǒng)宏語言的重要區(qū)別
19、之一就在于它是面向?qū)ο蟮?。對象是為了在VBA 程序中管理數(shù)據(jù)和代碼的方便提出來的。在VBA 中,對象是封裝有數(shù)據(jù)和代碼的客體。例如,UserForm 對象是一個窗口或?qū)υ捒颍靡詷?gòu)成應(yīng)用的用戶界面部分。Word 對象是VBA 為Word 編程所采取的看待世界的方法。對象代表一個Word 的元素,如文檔、段落、書簽或單個的字符。集合是一個對象,該對象包含其他數(shù)個對象,通常這些對象屬于相同的類型。例如,一個集合對象中可包含文檔中的所有書簽對象。通過使用屬性和方法,可以修改單個的對象,也可修改整個的對象集合。在一個應(yīng)用程序中,最高級別的對象通常是Application 對象,它就是應(yīng)用程序本身。例如
20、, 在Microsoft Word 對象中的Application 對象就是Microsoft Word 本身。在Application 對象中包含了一些其他的對象,例如,在Microsoft Word 的Application對象中包含了cocument、Windows、Selection 等對象。因?yàn)镈ocument對象的存在依賴于Word 的Application 對象的存在,所以此Document 對象被稱之為Application 對象的子對象(Child),反過來,此Application 對象被稱為Document 對象的父對象(Parent)。許多子對象又有它們自己的子對象。例
21、如,在Microsoft Excel 中,Documents 對象包含了Document 對象,或者說,它是Document 對象的父對象,一個父對象可以擁有多個子對象;例如,Word 的Windows對象擁有Panes、Selection 以及Object 等子對象。同樣,一個子對象也可以擁有多個父對象;例如,Word 的Windows 集合對象同時是Application 對象和Document 對象兩者的子對象。對象組成應(yīng)用程序的方法彼此之間按照它們被分開的內(nèi)容的功能又相互聯(lián)系起來,這叫做對象的分層結(jié)構(gòu)(Objecthierarchy)或是對象的模型(Object model),如圖11
22、-1 所示為Microsoft Word 對象的結(jié)構(gòu)模型圖。圖11-1 對象結(jié)構(gòu)模型圖屬性是對象的一個特性或者該對象操作的一個方面。例如,文檔屬性包含名稱、內(nèi)容、保存狀態(tài),以及是否啟用修訂。要設(shè)置一個屬性的值,可在對象的后面帶一個句號、屬性名、一個等號和新的屬性值。下面的示例在“MyDoc.doc”文檔中啟用修訂。Documents(MyDoc.doc).TrackRevisions = True在本例中,Documents 引用由打開的文檔構(gòu)成的集合,而“ MyDoc.doc ” 識別集合中的一篇文檔, 為該文檔設(shè)置了TrackRevisions 屬性。方法是對象可以進(jìn)行的動作。例如,可打印
23、一篇文檔,因而Document 對象也具有PrintOut 方法。方法通常都具有參數(shù),指明動作是如何進(jìn)行的。下面的示例是打印活動文檔的前三頁。ActiveDocument.PrintOut From:=1,To:=3在大多數(shù)情況下,方法是動作,而屬性是性質(zhì)。使用方法可使對象發(fā)生某些事情,而使用屬性則可返回對象的信息,或者引起對象的某個性質(zhì)的更改。可以利用對象與對象集的屬性(Properties)和方法(Methods)對對象進(jìn)行操作。關(guān)于屬性與方法的概念在下一節(jié)介紹。操作對象首先應(yīng)調(diào)用該對象,可以有以下兩種方法: 顯示調(diào)用方法(Calling it explicitly)。要根據(jù)該對象在對象模
24、型中的明確位置進(jìn)行指向。 隱示調(diào)用方法(Calling it implicitly)。不必指出對象在對象模型中的位置,只需確保此操作不會引起混淆與錯誤。例如,你要調(diào)用某文檔對象,對此進(jìn)行操作,如果能確定該文檔是Word 當(dāng)前(激活)文檔,就可以直接對此進(jìn)行操作,不會發(fā)生混淆,因?yàn)閃ord 中當(dāng)前文檔是唯一的。顯示調(diào)用方法需要較多的代碼,但不易混淆;隱示調(diào)用方法代碼少,但容易混淆,應(yīng)用時應(yīng)該慎重。 對象的屬性、方法和事件方法指的是對象能執(zhí)行的動作。如果對象共享共同的方法,則可以操作整個對象集合。例如,下列的過程會關(guān)閉所有打開的窗體。Sub CloseAll()Forms.Clos
25、eEnd Sub又例如,Add 是屬于ComboBox 對象的一個方法,因?yàn)樗鼤黾右粋€新項(xiàng)到下拉式列表框中。下面的程序使用Add 方法,增加一個新的工程到ComboBox 中。Sub AddEntry(newEntry as String)Combo1.Add newEntryEnd Sub屬性定義了對象的特征,諸如大小、顏色或屏幕位置,或某一方面的行為,諸如對象是否有激活或可見的??梢酝ㄟ^修改對象的屬性值來改變對象的特性。若要設(shè)置屬性值,則在對象的引用后面加上一個復(fù)合句,它是由屬性名加上等號(=)以及新的屬性值所組成的。例如,下面的過程通過設(shè)置窗體中的Caption 屬性來更改Visual
26、 Basic 窗體的標(biāo)題。Sub ChangeName(newTitle)myForm.Caption = newTitleEnd Sub有些屬性并不能設(shè)置。每一個屬性的幫助主題,會指出是否可以設(shè)置此屬性(讀與寫),或只能讀取此屬性(只讀),還是只能寫入此屬性(只寫)??梢酝ㄟ^屬性的返回值,來檢索對象的信息。下列的過程使用一個消息框來顯示當(dāng)前活動文檔的標(biāo)題,它顯示在當(dāng)前活動窗體頂部。Sub GetFormName()formName = Screen.ActiveForm.CaptionMsgBox formNameEnd Sub事件是一個對象可以辨認(rèn)的動作,像單擊鼠標(biāo)或按下某鍵等,并且可以寫
27、某些代碼針對所述動作來做響應(yīng)。用戶做動作或程序代碼的結(jié)果可能導(dǎo)致事件的發(fā)生,或是由系統(tǒng)引發(fā)。11.2 使用Visual Basic 編輯器上面已經(jīng)講到,Word 在VBA 編程語言中把宏錄制為一系列的Word 命令,然后在Visual Basic 編輯器中打開已錄制的宏,修改其中的指令。也可用Visual Basic 編輯器創(chuàng)建包括Visual Basic指令的非常靈活和強(qiáng)有力的宏,而那些指令是無法采用錄制的方法的。在Word 中打開Visual Basic 編輯器的方法是:指向【工具】菜單中的【宏】菜單項(xiàng),然后從其級聯(lián)菜單中單擊【Visual Basic 編輯器】命令,即可打開如圖11-2
28、所示的Visual Basic 編輯器。圖11-2 Visual Basic 編輯器注意:如果用此命令打不開Visual Basic 編輯器,說明文檔和Normal模板可能已經(jīng)被宏病毒感染了,因?yàn)橐话愕暮瓴《径紩选綱isualBasic 編輯器】命令屏蔽。此時可以把當(dāng)前用戶的Normal 模板刪除,用沒有被感染的Normal 代替或者不要Normal 模板,然后再重新打開Word,就可以打開Visual Basic 編輯器。下面簡單介紹一下Visual Basic 編輯器的方法。11.2.1 利用好窗口Visual Basic 編輯器中根據(jù)不同的對象,設(shè)置了不同的窗口。如果能恰當(dāng)?shù)厥褂眠@些窗
29、口,可以使編程效率有極大的提高。VisualBasic 編輯器中主要的窗口包括代碼窗口、立即窗口、本地窗口、對象瀏覽器、工程資源管理器、屬性窗口、監(jiān)視窗口以及工具箱和用戶窗體窗口等。 【代碼】窗口可以使用【代碼】窗口來編寫、顯示以及編輯Visual Basic【代碼】。打開各模塊的代碼窗口后,可以查看不同窗體或模塊中的代碼,并且在它們之間做復(fù)制以及粘貼的動作。如圖11-3 所示。圖11-3 【代碼】窗口可以按照下列所述的方式,來打開【代碼】窗口:在工程窗口中,可以選擇一個窗體或模塊,然后選擇【查看代碼】按鈕。在【用戶窗體】窗口中,可以雙擊控件或窗體;也可以從【視圖】菜單中選擇【
30、代碼窗口】,或者按下F7 鍵。在【代碼】窗口中可以將所選文本拖動到當(dāng)前代碼窗口中的不同位置,也可以拖動到其他的【代碼】窗口或者立即窗口以及監(jiān)視窗口,甚至【回收站】中。在【代碼】窗口中,左上角的下拉列表框?yàn)椤緦ο蟆靠?,用來顯示所選對象的名稱。用戶可以按下列表框中的右邊箭頭,來顯示此窗體中的對象?!緦ο蟆靠蛴疫叺南吕斜砜?yàn)椤具^程/事件】框,它列出了【窗體】或【對象】框所含控件中的所有Visual Basic 的事件。當(dāng)選擇了一個事件,則與事件名稱相關(guān)的事件過程就會顯示在代碼窗口中。如果在【對象】框中顯示的是【通用】,則【過程】框會列出所有聲明,以及為此窗體所創(chuàng)建的常規(guī)過程。如果正在編輯模塊中的代
31、碼,則【過程】框會列出所有模塊中的常規(guī)過程。在上述兩實(shí)例中,在【過程】框中所選的過程都會顯示在代碼窗口中。模塊中的所有過程會出現(xiàn)在一個單一滾動條的列表中,它們是按名稱的字母來排列的??梢詮拇a窗口上端的下拉式列表中選取一個過程,此時指針會移到所選過程的第一行代碼上面。將拆分欄向下拖放,可以將代碼窗口分隔成兩個水平窗格,兩者都具有滾動條??梢栽谕粫r間查看代碼中的不同部分。顯示在對象框以及【過程/事件】框中的信息,是以當(dāng)前擁有焦點(diǎn)的窗格之內(nèi)的代碼為準(zhǔn)。將拆分欄拖放到窗口的頂部或下端,或者雙擊拆分欄,都可以關(guān)閉一個窗格。代碼窗口的左邊的灰色區(qū)域?yàn)檫吔鐦?biāo)識條,在此會顯示出邊界標(biāo)識,在邊界標(biāo)識條上單擊
32、鼠標(biāo),可以在對應(yīng)的行上添加斷點(diǎn)。單擊【過程查看】圖標(biāo),可以顯示所選的過程,同一時間只能在【代碼】窗口中顯示一個過程。單擊【全模塊查看】圖標(biāo),顯示模塊中全部的代碼。 【立即窗口】【立即窗口】在中斷模式時會自動打開,且其內(nèi)容是空的。用戶可以在窗口中執(zhí)行如下操作:鍵入或粘貼一行代碼,然后按下Enter 鍵來執(zhí)行該代碼。從【立即窗口】中復(fù)制并粘貼一行代碼到【代碼】窗口中,但是【立即窗口】中的代碼是不能存儲的?!玖⒓创翱凇吭谡{(diào)試程序過程中非常有用,用戶如果要測試某個語法或者查看某個變量的值,就需要用到【立即窗口】。因?yàn)樵凇玖⒓创翱凇恐?,輸入一行語句后按Enter 鍵即可執(zhí)行,如圖11-4
33、 所示。圖11-4 在【立即窗口】中輸入一條語句與運(yùn)行的結(jié)果【立即窗口】可以拖放到屏幕中的任何地方,除非已經(jīng)在【選項(xiàng)】對話框中的【可連接的】選項(xiàng)卡內(nèi),將它設(shè)定為停放窗口??梢园聪玛P(guān)閉框來關(guān)閉一個窗口。如果關(guān)閉框不是可見的,可以先雙擊窗口標(biāo)題行,讓窗口變成可見的。注意:在中斷模式下,立即窗口中的語句,是根據(jù)顯示在過程框的內(nèi)容或范圍來執(zhí)行的。舉例來說,如果鍵入Print variablename,則輸出的就是局域變量的值。這和在程序中止時Print 方法在正在執(zhí)行的過程產(chǎn)生一樣。 【本地窗口】可自動顯示出所有在當(dāng)前過程中的變量聲明及變量值。若【本地窗口】為可見的,則每當(dāng)從執(zhí)行方式切
34、換到中斷模式或是操縱堆棧中的變量時,它就會自動地重建顯示,如圖11-5 所示。圖11-5 【本地窗口】下面介紹窗口中各對象的意義:【調(diào)用堆棧】按鈕:打開【調(diào)用堆?!繉υ捒?,它會列出調(diào)用堆棧中的過程,如圖11-6 所示。圖11-6 【調(diào)用堆?!繉υ捒颉颈磉_(dá)式】:列出變量的名稱,不能在此編輯數(shù)據(jù)。列表中的第一個變量是一個特殊的模塊變量,可用來擴(kuò)充顯示出當(dāng)前模塊中的所有模塊層次變量。對于類模塊,會定義一個系統(tǒng)變量。對于常規(guī)模塊,第一個變量是。全局變量以及其他工程中的變量,都不能從【本地窗口】中訪問。【值】:列出所有變量的值。所有的數(shù)值變量都應(yīng)該有一個值,而字符串變量則可以有空值。當(dāng)按下【值】字段中的
35、一個值,指針就會變成“I”形,且值會被點(diǎn)劃線包圍??梢跃庉嬕粋€值,并且按下ENTER 鍵,向上鍵,向下鍵,TAB 鍵,SHIFT+TAB 鍵或用鼠標(biāo)在屏幕上單擊,使編輯生效。如果這個值是非法的,則所編輯的字段的值會以突出顯示,并且會出現(xiàn)一個錯誤信息框來提示,此時可以按下ESC 鍵來中止更改。擁有子變量的變量可以被擴(kuò)充或折疊起來。折疊起來的變量不會顯示一個值,而變量每一次會顯示一個值,并且出現(xiàn)在變量的左邊。【類型】:列出變量的類型,不能在此編輯數(shù)據(jù)。 對象瀏覽器顯示出對象庫以及工程的過程的可用類、屬性、方法、事件及常數(shù)變量。用戶可以用它來搜索及使用既有的對象,或是來源于其他應(yīng)用程
36、序的對象。單擊【視圖】菜單中的【對象瀏覽器】命令或者按F2 鍵,即可顯示如圖11-7 所示的【對象瀏覽器】對話框。圖11-7 【對象瀏覽器】對話框【搜索文本】框包含要用來做搜索的字符串??梢枣I入或選擇所要的字符串。搜索文本框中包含最后四次輸入的搜索字符串,直到關(guān)閉此工程為止。在鍵入字符串時,可以使用標(biāo)準(zhǔn)的Visual Basic通配符。如果要查找完全相符的字符串,可以用快捷菜單中的【全字匹配】命令。輸入搜索的字符串完畢后單擊【搜索】按鈕,即可激活類或?qū)傩?、方法、事件或常?shù)等符合在【搜索文本】框中鍵入字符串的庫搜索,并且打開有適當(dāng)信息列表的【搜索結(jié)果】框。如果單擊【顯示/隱藏搜索結(jié)果】按鈕,可以
37、打開或隱藏【搜索結(jié)果】框?!舅阉鹘Y(jié)果】框改變成顯示從【工程/庫】列表中所選出的工程或庫的搜索結(jié)果。搜索結(jié)果會默認(rèn)地按類型創(chuàng)建組并從A到Z 排列。 工程資源管理器工程資源管理器是Visual Basic 編輯器中用以顯示VBA 項(xiàng)目成員的窗口。VBA 項(xiàng)目成員是指與用戶文檔相關(guān)的用戶自定義窗體(Form)、模塊(Modules)和Office 2000 對象(Microsoft Object)等。窗體、模塊和Office 2000 對象等的集合構(gòu)成了VBA 項(xiàng)目。VBA項(xiàng)目成員以樹形結(jié)構(gòu)顯示,以便于用戶查看和使用VBA 項(xiàng)目及其成員。工程資源管理器顯示與用戶在Office 200
38、0 中打開的每一個文檔相關(guān)的VBA 項(xiàng)目。例如,在Word 2000 中,若用戶打開了三個文檔,那么工程資源管理器將顯示與這三個文檔有關(guān)的VBA 項(xiàng)目,如圖11-8 所示。圖11-8 工程資源管理器在圖11-8 所示的工程資源管理器中,每一個文檔構(gòu)成了一個獨(dú)立的VBA 項(xiàng)目。與文檔相關(guān)的模塊、工作表、窗體等均被視為一個獨(dú)立的對象(VBA 項(xiàng)目成員)。工程資源管理器允許用戶方便地選擇要使用的對象。在用戶選擇了要編輯的對象以后,Visual Basic 編輯器自動打開相關(guān)的工具。例如,當(dāng)用戶選擇了一個窗體時,該窗體以及窗體工具欄將顯示在屏幕上;當(dāng)用戶選擇了ThisDocument 對象時,This
39、Workbook 代碼窗口將顯示在屏幕上。工程資源管理器為用戶提供了以下兩種選擇和編輯對象的方法:雙擊要選擇的對象。首先單擊要選擇的對象,然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【查看代碼】或【查看對象】命令。 【屬性】窗口【屬性】窗口用來查看和設(shè)置對象的屬性。例如,用戶可以使用【屬性】窗口設(shè)置和查看用戶創(chuàng)建的窗體、Word 模板等對象的屬性。在【視圖】菜單中單擊【屬性窗口】命令可顯示【屬性】窗口。在【屬性】窗口中僅僅顯示與選擇的對象相關(guān)的屬性。【屬性】窗口被劃分為左右兩部分:與當(dāng)前對象相關(guān)的屬性顯示在左半部分,對應(yīng)的屬性值顯示在右半部分,如圖11-9 所示。圖11-9 【屬性
40、】窗口要選擇一個對象,可以直接從【屬性】窗口頂端的下拉列表中選取,也可以在工程資源管理器中選取然后返回到【屬性】窗口。要改變一個對象的屬性,應(yīng)首先在【屬性】窗口的左半部分選擇該屬性,然后在右半部分單擊并編輯該屬性值。有些屬性值被限定在一個預(yù)定義的列表中。在這種情況下,屬性值文本框?qū)⒂梢幌吕斜砜蛱娲?【監(jiān)視窗口】當(dāng)工程中有監(jiān)視表達(dá)式定義時,就會自動出現(xiàn)【監(jiān)視窗口】,如圖11-10 所示。圖11-10 【監(jiān)視窗口】用戶可以在【監(jiān)視窗口】中拖動一個選取的變量,到【立即窗口】中??梢跃庉嬕粋€值,并且按下Enter 鍵,向上鍵,向下鍵,Tab 鍵,Shift+Tab 鍵或用鼠標(biāo)在屏幕
41、上單擊,使編輯生效。如果這個值是無效的,則編輯字段會保持在作用中,并且值會以突出顯示,且會出現(xiàn)一個消息框來描述這個錯誤??梢园聪翬SC 鍵來中止更改。如果在進(jìn)入中斷模式時,監(jiān)視表達(dá)式的內(nèi)容不在范圍內(nèi),則當(dāng)前的值并不會顯示出來。如果用戶要在添加監(jiān)視表達(dá)式定義時,可以在【監(jiān)視窗口】中單擊右鍵,然后在彈出的快捷菜單中選擇【添加監(jiān)視】命令即可彈出如圖11-11 所示的【添加監(jiān)視】對話框。圖11-11 【添加監(jiān)視】對話框11.2.2 自定義Visual Basic 編輯器 設(shè)置編輯器自動功能在Visual Basic 編輯器中,有一些自動功能可以使用戶在編程時非常方便快捷。要設(shè)置編輯器自
42、動功能,請單擊【工具】菜單中的【選項(xiàng)】菜單項(xiàng),并在彈出的【選項(xiàng)】對話框中選擇【編輯器】選項(xiàng)卡,如圖11-12 所示。圖11-12 【選項(xiàng)】對話框中的【編輯器】選項(xiàng)卡在【代碼設(shè)置】選項(xiàng)組中,可以進(jìn)行設(shè)置的項(xiàng)目及其意義為:自動語法檢測決定Visual Basic 是否在輸入一行代碼之后自動修正語法。要求變量聲明決定在模塊中是否需要明顯的變量聲明。選擇這個選項(xiàng)會在任一新模塊的標(biāo)準(zhǔn)聲明中添加OptionExplicit 語句。自動顯示列出成員顯示一列表,其包含的信息可以邏輯地完成當(dāng)前插入點(diǎn)的語句。自動顯示快速信息顯示所鍵入函數(shù)及其參數(shù)的信息。自動顯示數(shù)據(jù)提示顯示出指針?biāo)谖恢玫淖兞恐怠V荒茉谥袛嗄J较?/p>
43、使用。自動縮進(jìn)定位代碼的第一行;所有接下來的代碼會在該定位點(diǎn)開始。Tab 寬度設(shè)置定位點(diǎn)寬度,范圍從1 到32 個空格;默認(rèn)值是4 個空格。在【窗口設(shè)置】選項(xiàng)組中,可以設(shè)置的項(xiàng)目及其意義為: 編輯時可拖放文本可以在當(dāng)前代碼中,從【代碼】窗口拖放元素到【立即窗口】或【監(jiān)視窗口】。默認(rèn)為查看所有模塊設(shè)置新模塊的默認(rèn)狀態(tài),在【代碼】窗口中查看過程,單一滾動列表或是一次只看一個過程。這不會改變當(dāng)前已打開模塊的視圖方式。過程分隔符可以顯示或隱藏【代碼】窗口中出現(xiàn)在每個過程尾端的分隔符條。 設(shè)置編輯器格式在【選項(xiàng)】對話框中,選擇【編輯器格式】選項(xiàng)卡可以指定VisualBasic 代碼的外觀
44、。如圖11-13 所示。圖11-13 設(shè)置編輯器格式在【代碼顏色】列表框中選擇要設(shè)定的文本樣式,然后設(shè)置其相應(yīng)的字體和顏色即可,其效果可以在預(yù)覽框中查看。 設(shè)置通用選項(xiàng)有一些關(guān)于窗體的網(wǎng)格、錯誤捕捉方式、編譯方式等選項(xiàng),可以在【選項(xiàng)】對話框中的【通用】選項(xiàng)卡中設(shè)置,如圖11-14 所示。圖11-14 【選項(xiàng)】對話框中的【通用】選項(xiàng)卡在【窗體網(wǎng)格設(shè)置】選項(xiàng)組中,可以確定窗體在編輯時的外觀。選中【顯示網(wǎng)格】復(fù)選框,就確定了要顯示網(wǎng)格。并在【寬度】框和【高度】框中確定窗體上網(wǎng)格的寬度(2 到60 點(diǎn))和高度(2 到60 點(diǎn))。如果選中【對齊控件到網(wǎng)格】復(fù)選框,可以自動將控件的外緣放在
45、網(wǎng)格上。如果選中【項(xiàng)目折疊收起時隱藏窗口】復(fù)選框,確定當(dāng)一工程在工程資源瀏覽器中折疊后工程、UserForm、對象或模塊窗口是否應(yīng)自動關(guān)閉。如果選中【在丟失當(dāng)前狀態(tài)前通知】復(fù)選框,確定是否會收到一消息,通知在運(yùn)行的工程中所要求的動作將引起所有模塊級變量被重置。如果在Visual Basic 開發(fā)環(huán)境處理錯誤,可以設(shè)置【錯誤捕捉】選項(xiàng),此選項(xiàng)會影響所有在此設(shè)置改變后所激活的Visual Basic 實(shí)例。 發(fā)生錯誤則中斷任何使工程進(jìn)入中斷模式的錯誤,無論是否有活動的錯誤處理及無論代碼是否在類模塊中。 在類模塊中中斷任何在類模塊中,使項(xiàng)目在生成錯誤的類模塊的代碼行處,進(jìn)入中斷模式的無法處理錯誤。
46、遇到未處理的錯誤時中斷如果有一個活動的錯誤處理,這個錯誤會被捕捉而不進(jìn)入中斷模式。如果沒有活動的錯誤處理,這個錯誤會使工程進(jìn)入中斷模式。類模塊中的無法處理錯誤,使工程在使用到對象類中在違反過程的代碼行處進(jìn)入中斷模式。用戶還可以對【編譯方式】進(jìn)行設(shè)置:選中【請求時編譯】復(fù)選框,確定工程在開始前是否要完全編譯,或只編譯需要的代碼,以便讓應(yīng)用程序盡快開始執(zhí)行。選中【后臺編譯】復(fù)選框,確定在運(yùn)行時,是否用空閑時間在后臺完成工程的編譯。后臺編譯可以改善運(yùn)行時的執(zhí)行速度。這個特性只有在選定【請求時編譯】的情形下才能使用。 設(shè)定可連接的窗口用戶可以選出要連接的窗口。連接發(fā)生在當(dāng)窗口附加到其他
47、可連接的窗口或應(yīng)用程序窗口的邊緣時。當(dāng)移動一可連接的窗口時,該窗口很快地移向此位置??梢砸苿右粋€非可連接的窗口到屏幕上的任何地方,并將它留在那里。要設(shè)定可連接的窗口,在【選項(xiàng)】對話框中選中【可連接的】選項(xiàng)卡,如圖11-15 所示。圖11-15 設(shè)定可連接的窗口選擇要使它可連接的窗口,并清除不要的那些。11.2.3 設(shè)置工程的安全性盡管在大多數(shù)情況下,我們允許用戶訪問自己所創(chuàng)建的模塊;但是為了防止他人篡改、運(yùn)行已創(chuàng)建的模塊,就必須對模塊進(jìn)行保護(hù)。在本節(jié)中,將學(xué)習(xí)VBA 有哪些安全措施和如何進(jìn)行安全措施設(shè)置以及怎樣調(diào)整權(quán)限等內(nèi)容。為了保護(hù)所創(chuàng)建的VBA 模塊,可以采取下面三種方法:調(diào)整模塊屬性,使
48、其中代碼不能被讀或編輯。為模塊設(shè)置密碼。創(chuàng)建用戶和組帳戶,在此基礎(chǔ)上為模塊設(shè)置權(quán)限(這只適用于Access)??梢栽赩isual Basic 編輯器中設(shè)置工程項(xiàng)目(Project)的保護(hù),其具體步驟如下:(1)打開Visual Basic 編輯器,用鼠標(biāo)右鍵單擊想要保護(hù)的工程項(xiàng)目,用鼠標(biāo)左鍵單擊【Project 屬性】,彈出【Project工程屬性】對話框,(2)在對話框中,選擇【保護(hù)】選項(xiàng)卡,如圖11-16 所示。圖11-16 【Project工程屬性】對話框(3)選中【查看時鎖定工程】復(fù)選框,這樣其他人就不能查看或編輯。(4)在【密碼】文本框中鍵入設(shè)置的密碼。(5)在【確認(rèn)密碼】文本框中,
49、再次鍵入密碼以確認(rèn),然后,單擊【確定】按鈕。這樣密碼設(shè)置完成。當(dāng)下一次查看或者編輯工程時,屏幕將顯示【Project 密碼】對話框并要求輸入密碼。11.2.4 設(shè)置條件編譯參數(shù)用戶可以使用條件編譯的方式,來選擇性地運(yùn)行代碼塊,例如,調(diào)試語句會去比較對于相同的程序任務(wù)使用不同方法的速度,或是通過不同的語言來本地化一個應(yīng)用程序??衫?Const 指令在代碼中聲明一個條件編譯常數(shù)。并且可以利用#If.Then.#Else 指令來指示代碼塊做條件編譯。下列示例中是以conDebug 變量為基礎(chǔ)來運(yùn)行調(diào)試代碼或者產(chǎn)生代碼。在聲明區(qū)聲明公用編輯常數(shù)。#Const conDebug = 1Sub Sele
50、ctiveExecution()#If conDebug = 1 Then用調(diào)試語句運(yùn)行代碼。#Else 運(yùn)行常規(guī)代碼。#End IfEnd Sub用戶可以在工程屬性對話框中設(shè)置條件編譯參數(shù),如圖11-17 所示。圖11-17 設(shè)置條件編譯參數(shù)11.3 VBA 編程基礎(chǔ)11.3.1 了解Visual Basic 語法本節(jié)解釋最常見的語法元素。 Activate 方法的語法語法:object.Activate在Activate 方法的語法中,object 是一個所提供信息的占位符,在此例中的代碼會返回一個對象。例如,下面的過程會在活動的文檔中激活第二個窗口。Sub MakeAct
51、ive()Windows(2).ActivateEnd Sub MsgBox 函數(shù)的語法語法:MsgBox(prompt, buttons , title , helpfile,context)在MsgBox 函數(shù)的語法中,括號內(nèi)的參數(shù)是此函數(shù)的命名參數(shù)。方括號所包含的參數(shù)是選擇性的(在Visual Basic 中不用鍵入方括號)。在MsgBox 函數(shù)中,唯一必須提供的參數(shù)(prompt)是做為提示的文本。在代碼中可以利用位置或名稱來指定函數(shù)與方法的參數(shù)。若利用位置來指定參數(shù),則必須根據(jù)語法中的順序,利用逗號來分隔每一個參數(shù),例如:MsgBox Your answer is c
52、orrect!,0,Answer Box若以名稱來指定參數(shù),則須使用參數(shù)名稱或跟著冒號與等號(:=),最后再加上參數(shù)值??梢匀魏蔚捻樞騺碇付麉?shù),例如:MsgBox Title:=Answer Box, Prompt:=Your answer is correct!函數(shù)以及某些方法的語法會利用圓括號將參數(shù)封閉起來。這些函數(shù)和方法會返回值,所以必須用圓括號將參數(shù)封閉起來,才可以賦值給變量。如果忽略返回值或是沒有傳遞所有的參數(shù),則可以不用圓括號。方法若不返回值,則不用將參數(shù)用圓括號封閉起來。上述準(zhǔn)則不管是使用命名參數(shù)或位置參數(shù)都適用。在下面的示例中,MsgBox 函數(shù)的返回值是一個號碼,它被存
53、儲在變量myVar 中,以用來指示選擇的按鈕。因?yàn)樾枰玫椒祷刂?,所以調(diào)用時必須使用圓括號。而另一個消息框則是用來顯示變量的值。Sub Question()myVar = MsgBox(Prompt:=I enjoy my job., _Title:=Answer Box, Buttons:=4)MsgBox myVarEnd Sub 選項(xiàng)語句的語法語法:Option Compare Binary | Text | Database在Option Compare 語句的語法中,大括號和垂直線指示三項(xiàng)中的強(qiáng)制性選擇(在Visual Basic 的語句中不用鍵入大括號)。例如,下列
54、的語句指出在模塊中,字符串的比較是根據(jù)文本的排序順序而不區(qū)分大小寫。Option Compare Text Dim 語句的語法語法: Dim varname ( subscripts ) As type ,varname(subscripts) As type . . .在Dim 語句的語法中,Dim 是必備的關(guān)鍵字。而唯一必備的元素是varname(變量名)。例如,下列的語句創(chuàng)建三個變量:myVar、nextVar 和thirdVar。它們會自動被聲明成Variant 變量。Dim myVar, nextVar, thirdVar下面的示例聲明了一個String 型的變量。它
55、包含了數(shù)據(jù)類型,如此可以節(jié)省內(nèi)存并且可幫助從代碼中找出錯誤。Dim myAnswer As String若在一個語句中聲明好幾個變量,則必須包含每一個變量的數(shù)據(jù)類型。變量在聲明時若少了數(shù)據(jù)類型,則會自動地聲明為Variant 。Dim x As Integer, y As Integer, z As Integer在下列的語句中,x 與y 都被指定成Variant 數(shù)據(jù)類型,只有z 被指定成String 數(shù)據(jù)類型。Dim x, y As Integer,Z As String如果聲明一個數(shù)組變量,則必須包含圓括號,但下標(biāo)則是可選的。下列的語句中定義了一個動態(tài)數(shù)組myArray。Dim myAr
56、ray()11.3.2 有效地利用數(shù)據(jù)語法表11-1 列出VBA 所支持的數(shù)據(jù)類型,以及存儲空間的大小與范圍。表11 11-1 數(shù)據(jù)類型數(shù)據(jù)類型存儲空間大小范圍Byte 1 個字節(jié)0255Boolean 2 個字節(jié)True 或FalseInteger 2 個字節(jié)-32,76832,767Long(長整型)4 個字節(jié)-2,147,483,648 2,147,483,647Single (單精度浮點(diǎn)型)4 個字節(jié)負(fù)數(shù)時-3.E38-1.E-45;正數(shù)時1.E-45 3.E38Double (雙精度浮點(diǎn)型)8 個字節(jié)負(fù)數(shù)時1.232E308-4.247E-324;正數(shù)時4.247E-3241.232
57、E308Currency( 變比整型)8 個字節(jié)-922,337,203,685,477.5808922,337,203,685, 477.5807Decimal 14 個字節(jié)沒有小數(shù)點(diǎn)時為79,228,162,514,264,337,593,543,950, 335,而小數(shù)點(diǎn)右邊有28 位數(shù)時為7.;最小的非零值為0.Date 8 個字節(jié)100 年1 月1 日 9999 年12 月31 日Object 4 個字節(jié)任何Object 引用String (變長)0 字節(jié)加字符串長度1 0 大約20 億String(定長)字符串長度1 大約65,400Variant(數(shù)字)16 個字節(jié)任何數(shù)字值,最大可達(dá)Double 的范圍Variant(字符)22 個字節(jié)加字符串長度與變長String 有相同的范圍用戶自定義( 利用Type)所有元素所需數(shù)目每個元素的范圍與它本身的數(shù)據(jù)類型的范圍相同注意:任何數(shù)據(jù)類型的數(shù)組都需要20 個字節(jié)的內(nèi)存空間,加上每一數(shù)組維數(shù)占4 個字節(jié),再加上數(shù)據(jù)本身所占用的空間。數(shù)據(jù)所占用的內(nèi)存空間可以用數(shù)據(jù)元數(shù)目乘上每個元素的大小加以計(jì)算。例如,以4 個2 字節(jié)的Integer 數(shù)據(jù)元所組成的一維數(shù)組中的數(shù)據(jù),占8個字節(jié)。這8 個字節(jié)加上額外的24 個字節(jié),使得這個數(shù)組所
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年成人高考《語文》語法結(jié)構(gòu)與修辭手法題庫試卷
- 2025年軟件設(shè)計(jì)師模擬試卷:軟件工程工具與技術(shù)試題
- 隧道 施工方案
- 2025年實(shí)驗(yàn)小學(xué)校消防安全逃生疏散演練專項(xiàng)方案-修改
- 2025年游泳教練資格認(rèn)證考試游泳教練綜合素質(zhì)評價試題試卷
- 2025年消防應(yīng)急救援行動指揮消防執(zhí)業(yè)資格考試消防安全宣傳教育材料試題
- 2025年GMAT邏輯推理模擬試卷:核心知識點(diǎn)精講
- 2025年小學(xué)語文畢業(yè)升學(xué)考試模擬卷(語文綜合實(shí)踐活動設(shè)計(jì)題型解析)
- 2025年成人高考語文經(jīng)典題型強(qiáng)化題庫:語文閱讀理解真題
- 2025年初中地理學(xué)業(yè)水平考試模擬卷:地理實(shí)驗(yàn)探究實(shí)驗(yàn)現(xiàn)象觀察與記錄要點(diǎn)
- 2024年全民國家安全教育日知識競賽考試題庫300題(含答案)
- 艾滋病保密制度
- 兩位數(shù)乘一位數(shù)計(jì)算質(zhì)量作業(yè)口算題
- 認(rèn)知行為療法講解
- 史丹利行業(yè)分析
- 荒山綠化方案
- H3C全系列產(chǎn)品visio圖標(biāo)庫
- 恩賜測試完整版本
- “科學(xué)與文化論著研習(xí)”任務(wù)群教學(xué):以《改造我們的學(xué)習(xí)》為例
- canva可畫行業(yè)分析
- 《安徽大學(xué)簡介》課件
評論
0/150
提交評論