ExcelVBA用戶窗體編程基礎_第1頁
ExcelVBA用戶窗體編程基礎_第2頁
ExcelVBA用戶窗體編程基礎_第3頁
ExcelVBA用戶窗體編程基礎_第4頁
ExcelVBA用戶窗體編程基礎_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、excelvba用戶窗體編程基礎概述當使用msgbox函數(shù)和inputbox函數(shù)不能滿足與用戶交互的需求時,您能使用用戶窗體來自定義對話框。您能使用用戶窗體來顯示所輸入的數(shù)據(jù),您甚至能使用用戶窗體創(chuàng)建一個完整的用戶界面,而不會讓用戶接觸到電子表格本身。您在windows對話框中所看到的大多數(shù)控件都能在用戶窗體中實現(xiàn)命令按鈕,選項按鈕,復選框,文本框,組合框加上一些其它不常用的控件像圖像,日歷,等等。本文介紹了用戶窗體的基本概念,并介紹了使用用戶窗體的常用技術。其中,也講解了一些最通用的思路。在文章中列舉了一個包含所有過程的完整的示例文件,以及實現(xiàn)這些過程的代碼,讓您能在實踐中看到所有工作的基本

2、原理和方法。本文包含以下內(nèi)容: 基本的用戶窗體操作 用戶窗體和控件的屬性 一個用戶窗體的生命周期 用戶窗體和控件的事件 問題1:如何在用戶窗體間傳遞數(shù)據(jù)? 問題2:如何找到我的窗體中的某類控件? 問題3:如何獲取數(shù)據(jù)到列表框中? 問題4:如何為循環(huán)創(chuàng)建進度條? 一個完整的用戶窗體綜合示例基本的用戶窗體操作創(chuàng)建一個窗體。打開vbe編輯器(選擇菜單“工具宏visual basic編輯器”或按alt+f11組合鍵),選擇菜單“插入用戶窗體”,或者在工程窗口中單擊右鍵,從彈出的快捷菜單中選擇“插入用戶窗體”,即可創(chuàng)建一個窗體。添加控件。當你創(chuàng)建了一個窗體后,將會顯示一個名為“控件工具箱”的浮動工具箱(

3、如果沒有該工具箱的話,您可以從視圖菜單中找到它),其中顯示了最普遍的控件類型。單擊您想要的控件,拖動它到您的用戶窗體中。更多的控件。有一些更多的可用的控件,您可以在控件工具箱中單擊右鍵,從中選擇“附加控件”,您能添加日歷、電子表格、圖形,等等。添加事件程序。事件允許當用戶對窗體和控件進行操作時作出相應的反應,事件程序要放置在用戶窗體模塊中,您能通過雙擊窗體或控件來打開代碼模塊窗口,或者在窗體或控件中單擊右鍵,從快捷菜單中選擇“查看代碼”來打開代碼模塊窗口,或者在工程窗口中的用戶窗體圖標上單擊右鍵后選擇“查看代碼”來打開代碼模塊窗口。然后,在代碼模塊窗口中,對窗體或控件添加相應的事件程序代碼。顯

4、示窗體。打開窗體模塊,按f5鍵可以運行宏程序,或者單擊工具欄中的運行按鈕,將顯示用戶窗體。注意,在窗體模塊中按f5鍵并不會運行光標所在的子過程,而是運行用戶窗體自身。調(diào)試。和在宏程序中一樣,按f8鍵允許您逐語句運行代碼。用戶窗體和控件的屬性窗體和控件都有屬性(如尺寸、位置,等等),您能在設置窗體時改變這些屬性,并且它們中的大多數(shù)屬性也能夠在運行時通過代碼來改變。在設置窗體時您所選擇的值是缺省值,在運行時您所作的變化僅當窗體被裝載時有效。兩個最重要的屬性是name屬性和value屬性:name屬性可用于指定某個控件。您能通過控件的索引號指定控件,但這樣會難于理解和調(diào)試,因此,使用名稱是更可取的。

5、value屬性是您所使用的實際輸入或者輸出的數(shù)據(jù)。在不同的控件中,該屬性值稍有區(qū)別。例如,選項按鈕控件和復選框控件的value屬性值為true/false,而文本框控件的value值則是該文本框所包含的文本。value屬性既可用于輸入,也可用于輸出。例如:*txtfirstname.text = range(a1).valuerange(b1).value = optvegetarian.value*一個好習慣給您的窗體和控件起一個具有描述性且分類清楚的名字。您將會發(fā)現(xiàn)在每類控件名前加一個前綴是很有幫助的,例如,frm代表窗體,opt代表選項按鈕,等等。這樣將會使您的代碼更易閱讀,并且也會允許

6、您使用一些技術,否則代碼將會很復雜。指定控件和窗體,以及me關鍵字當在窗體代碼模塊中指定窗體中的控件時,您能通過名字指定他們,例如txtfirstname.value=”john”。對于在其它窗體中的控件,窗體名應放在控件名之前,例如,frmemployees.lstdepartments。同樣的方法對在窗體模塊中所聲明的公共變量也是有效的這是窗體的基本屬性(例如,frmimputs.alldone)。注意,您不能在用戶窗體的代碼模塊中聲明全局變量。me是一個在用戶窗體的代碼模塊中指定該用戶窗體的快捷方式(例如,me.height表示當前用戶窗體的高度)。又如,在用戶窗體userform1中指

7、定textbox1:*在當前用戶窗體模塊中me.textbox1.text = example在不同的模塊中userform1.textbox1.text = example*一個窗體的生命周期顯示和關閉您可以在窗體窗口中或者是在窗體的代碼模塊中,按f5鍵來顯示您的窗體。如果在模塊中有一個userform_initialize過程,那么在窗體顯示時,該過程將首先運行。如果要使用代碼顯示和隱藏您的窗體(例如,您可能想在frmintro窗體中使用一個命令按鈕來隱藏frmintro窗體并顯示frmmain窗體),您應該使用show方法(顯示窗體)和hide方法(隱藏窗體)。裝載和卸載窗體顯示之前,必

8、須裝載到內(nèi)存中。如果您顯示一個沒有裝載的窗體,該窗體將自動裝載。事實上,窗體中的任何引用或者變量或者控件或者屬性都將強制裝載,并且觸發(fā)初始化事件。如果您想初始化窗體但不顯示窗體的話,您能使用如下方式裝載:load frmmain在隱藏了窗體后,該窗體仍然被裝載。如果您再次顯示它,初始化程序不會再運行。(但activate程序?qū)\行。)為了從內(nèi)存中清除窗體,您必須卸載(unload)它。當用戶單擊關閉按鈕關閉窗體時,窗體將自動卸載。因此,窗體裝載和卸載的順序是:裝載(load)顯示(show)隱藏(hide)卸載(unload)。卸載會清除窗體模塊中的所有的變量類似于停止了一個過程。用戶已經(jīng)輸

9、入的任何數(shù)值都將丟失,控件將恢復為您在屬性窗口中輸入的缺省值。如果您想保存它們的值,您需要在卸載窗體前進行保存。模式和無模式窗體能在兩種“模式”之間顯示,即模式或者無模式。模式窗體不允許用戶當窗體顯示時在excel中進行其它的操作,像msgbox對話框一樣。無模式窗體允許用戶在excel中進行其它操作,然后回到窗體中來。當無模式窗體顯示時,代碼將在后臺繼續(xù)執(zhí)行。您能使代碼暫時停止,直到窗體關閉后繼續(xù)執(zhí)行??墒褂靡粋€循環(huán)語句來檢查窗體是否已關閉:*do until frmother.visible = false doevents loop*缺省設置是模式窗體。一旦窗體作為模式窗體顯示后,您不能

10、將它改變?yōu)闊o模式窗體。您必須先隱藏該窗體,然后再顯示它,并指定為無模式窗體。無模式窗體僅對excel2000及以上版本有效。用戶窗體和控件的事件事件允許窗體和控件對用戶所做的操作作出相應的反應。您可能熟悉excelvba事件,如workbook_open,worksheet_change等等。在excel中,如果沒有事件,您能做一些操作,但是在窗體中,如果沒有事件的話,窗體幾乎沒什么作用。最常用的窗體事件包括窗體初始化(intialize)、窗體激活(activate)、窗體請求關閉(queryclose)、以及單擊窗體(click)。窗體中控件的常用事件包括更新后(afterupdate)、

11、變化(change)、單擊(click)、輸入(enter)、以及退出(exit)。為了插入某對象的事件過程,您可以在該對象上單擊右鍵,在快捷菜單中選擇”查看代碼”,將會自動創(chuàng)建一個該控件標準的事件過程。如果您想創(chuàng)建不同的事件過程,可以從vbe窗口頂部右側的下拉列表中選擇您想創(chuàng)建的事件過程。還有一個方法是,您可以先進入窗體代碼窗口,在代碼窗口頂部的左側的下拉列表中選擇對象,在右側的下拉列表中選擇相應的事件。用戶窗體初始化最重要的用戶窗體事件是初始化(initialize)事件。初始化是發(fā)生在用戶窗體中的第一件事情只要用戶窗體開始裝載,就會觸發(fā)初始化事件。在這里,您可以初始化變量和控件。例如,您

12、能從電子表格中更新最新的數(shù)據(jù)到文本框中,改變文本框的缺省值為今天的日期,等等。請求關閉和中止結束窗體的事件有兩個:請求關閉(queryclose)和中止(terminate)。請求關閉事件首先發(fā)生,并且給您取消的機會(不會關閉窗體);中止事件是最終的并不能取消。因此,事件的順序是:初始化(initialize)請求關閉(queryclose)中止(terminate)。激活用戶窗體如果您不卸載窗體而只是隱藏它,然后再顯示它,初始化事件不會再運行。但是,激活(activate)事件將會發(fā)生。當用戶窗體每次獲得焦點時,都會觸發(fā)激活事件。在每次顯示窗體時,該事件也會發(fā)生。如果您有幾個窗體同時可見,那

13、么當您在這些窗體之間切換時,激活事件也會被觸發(fā)。帶參數(shù)的事件和excel的事件一樣,一些窗體事件也帶有參數(shù),給您更多的關于怎樣觸發(fā)事件和為什么會觸發(fā)事件的信息。例如,userform_keydown事件將告訴您按下了哪個按鍵。當您在vbe中使用代碼窗口頂部的下拉菜單創(chuàng)件一個事件過程時,該過程會自動為它的所有參數(shù)設置合適的值。一些參數(shù)是只讀的,而另一些參數(shù)則可讀寫。例如,發(fā)生在用戶窗體關閉前的userform_queryclose事件,帶有一個取消(cancel)參數(shù),在該過程中設置cancel=true將忽略該事件,并且該窗體不會被關閉。問題1:如何在用戶窗體間傳遞數(shù)據(jù)?有兩種主要的在窗體間傳

14、遞數(shù)據(jù)的方式:直接從窗體到窗體傳遞數(shù)據(jù)(這意味著這兩個窗體應同時都被裝載在內(nèi)存中);或者先將一個窗體中的數(shù)據(jù)存儲在某個地方,然后再從另一個窗體中調(diào)用這些數(shù)據(jù)??梢曰蛘呤菑摹霸磾?shù)據(jù)”窗體或者是從“目標”窗體中傳遞數(shù)據(jù),但必須在“源數(shù)據(jù)”窗體被卸載前進行。注意,當您指定另一個窗體中的控件時,必須加上該窗體的名字,例如:*txtname.value = frmtheotherform.txtname.value*直接從窗體到窗體傳遞數(shù)據(jù)會觸發(fā)另一窗體的初始化事件(除非該窗體可見),因為您在引用該窗體中的控件的屬性。如果該初始化事件過程包含有顯示窗體的代碼,或者調(diào)用其它的子過程,這將觸發(fā)一系列的代碼,

15、導致難于調(diào)試,因此,建議僅對相當簡單的窗體使用這種方式。相比較而言,將數(shù)據(jù)存儲在變量中會更靈活和便于控制。數(shù)據(jù)能被存儲在公共變量中、單元格中(當關閉文件時能被保存)、或工作表命名區(qū)域中。下面的綜合示例中包含有這兩種方式傳遞數(shù)據(jù)的例子。問題2:如何找到我的窗體中的某類控件?您能在窗體中所包含的控件之間進行循環(huán),選擇那些合適類型的控件,并在這些控件中應用相應的代碼??捎萌缦聨追N方式進行處理:使用typename函數(shù)、typeof運算符、或者控件名字。typename()typename函數(shù)返回一個字符串,例如,文本框為”textbox”,命令按鈕為”commandbutton”等等??丶念愋兔Q

16、一般與控件的缺省名或標題相同,但不是數(shù)字。例如,當您添加一個新的文本框到您的窗體中,缺省設置命名為textbox1。typeoftypeof是確定對象類型的很好的方式。引用了對象庫之后,它能直接返回該對象的類型而不是字符串。您能通過對象瀏覽器找到庫和一個對象的類型。例如,文本框的類型是msforms.textbox。typeof主要的優(yōu)勢在于使您的代碼更易調(diào)試。當您試圖編譯模塊時能捕獲類型,并且typeof支持智能識別開始輸入“if typeof ctl is”,接著您將會獲得一個帶有所有可用的選擇的下拉列表。“if typeofisthen”是if語句的一類特殊的語句,其介紹在vba幫助文檔

17、中的if語句中??丶秩绻唇y(tǒng)一的規(guī)則命名了您的控件,您能使用名稱(name)屬性來識別它們,并能運用一些技術。運用left函數(shù),可以非常靈活的識別一組子文本框,例如,在窗體中有10個文本框,其名稱分別為txtteamname、txtteamnumber、txtmember1、txtmember2、txtmember8,您能使用這種方法識別并清空名字中所有以”txtmember”開頭的文本框。例子在下面的例子中有三個作用相同的if語句(假設您的文本框名字都是以”txt”開頭):*dim ctl as controlfor each ctl in me.controlsif typeof c

18、tl is msforms.textbox then 或者if typename(ctl) = textbox then 或者if left(ctl.name, 3) = txt then 對文本框進行操作ctl.text = helloend ifnext ctl*下面的綜合示例中也有一個例子。問題3:如何獲取數(shù)據(jù)到列表框中?您可以通過下面所介紹的三種方式為列表框獲取數(shù)據(jù)。rowsource屬性您能將列表框直接與工作表上的一個單元格區(qū)域相鏈接,這與工作表中的列表框相同。在該區(qū)域中的任何變化將會立即使列表框相應變化,但在列表框中的數(shù)據(jù)是只讀的,您不能通過改變列表框中的項目來改變工作表中的內(nèi)容。

19、note that the parameter for rowsource is a string and not a range:注意,rowsource參數(shù)是一個字符串,而不是一個單元格區(qū)域:*lstnames.rowsource = range(names).address*list屬性 / column屬性您能使用list屬性和column屬性來設置列表項目,這兩個屬性除了方向不同外,實質(zhì)上是相同的。list屬性的語法為:list(行,列);column屬性的語法為:column(column,row)。您能復制整個數(shù)組到列表框中,或者只是在列表框中設置單個的項目。*lstnames.

20、list = range(names).value*additem方法additem方法在列表框中添加一行,并且您能放置一個值在新行的第一列中。在多列列表框中,您必須使用list屬性或column屬性放置值在剩下的列中。*with lstnames .additem .list(0, 0) = john.list(0, 1) = smithend with*在下面的綜合示例中,由上述三個屬性或方法的例子。問題4:如何為循環(huán)創(chuàng)建進度條?創(chuàng)建進度條的一個簡單的方法是創(chuàng)建帶有兩個標簽(例如,分別命名為lblbackground和lblprogressbar的兩個標簽)的窗體。使lblbackgrou

21、nd標簽與您創(chuàng)建的進度條一樣寬,設置lblprogressbar標簽的寬度值(width)從0開始,并確保lblprogressbar標簽在lblbackground標簽之上。接著,當您運行循環(huán)時增加lblprogressbar標簽的寬度。*p為已經(jīng)進行的循環(huán)所占的比例,例如0.6me.lblprogressbar.width = p * me.lblbackground.width*在下面的綜合示例中,有一個簡單的進度條例子。綜合示例下面的excel文檔是一個演示用戶窗體基礎知識的完整示例。見用戶窗體完整示例.xls。點擊瀏覽該文件by fanjy in 2006-7-30 肆蚄羈膄肅莄螄肀

22、肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁

23、芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄

24、蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅

25、膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇

26、芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀

27、莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁

28、膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅

29、芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆

30、蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀

31、膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇莆袀袆莆蒈蚃膄蒞薁袈肀莄蚃蟻羆蒃莃袆袂蒂蒅蠆膁蒂薇裊膇蒁螀蚇肅蒀葿羃罿肆薂螆裊肆蚄羈膄肅莄螄肀肄蒆罿羅膃薈螂袁膂蟻薅芀膁蒀螁膆膀薂蚃肂膀蚅衿羈腿莄螞襖膈蕆袇膃芇蕿蝕聿芆蟻裊羅芅莁蚈袁芄薃襖袇芄蚆螇膅芃蒞羂肁節(jié)蒈螅羇芁薀羀袃莀螞螃膂荿莂薆肈莈蒄螁羄莈蚇薄羀莇

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論