




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VB應(yīng)用程序調(diào)用EXCEL進(jìn)行數(shù)據(jù)處理摘要:從VB應(yīng)用程序內(nèi)部來(lái)程序化操縱Excel,利用EXCEL軟件中的宏程序(VBA)功能,結(jié)合VB程序語(yǔ)言來(lái)進(jìn)行界面化程序編制,以達(dá)到利用VB調(diào)用EXCEL進(jìn)行程序化數(shù)據(jù)處理的目的。關(guān)鍵詞:VB應(yīng)用程序;EXCEL對(duì)象模型;EXCEL宏程序(VBA);VB調(diào)用EXCEL記錄和處理數(shù)據(jù)。引言VisualBasic簡(jiǎn)稱(VB)是設(shè)計(jì)Windows應(yīng)用程序強(qiáng)有力的開(kāi)發(fā)工具,“全球絕大多數(shù)Windows應(yīng)用程序都是用VB開(kāi)發(fā)的”;相信大家對(duì)VBA也有所耳聞,只是很多朋友沒(méi)有使用過(guò)。VBA是VisualBasicforApplication的簡(jiǎn)稱。大家知道VisualBasic是一種編程語(yǔ)言,而VBA就是在VisualBasic平臺(tái)中將MicrosoftOffice中的每個(gè)應(yīng)用程序都看成一個(gè)對(duì)象。每個(gè)應(yīng)用程序都由各自的Application對(duì)象代表。Excel是目前使用最廣泛的辦公應(yīng)用軟件之一,它具有強(qiáng)大的數(shù)學(xué)分析與計(jì)算功能,包括很多VB沒(méi)有的求值數(shù)學(xué)表達(dá)式的函數(shù)和方法。由于Excel的應(yīng)用程序?qū)ο笫峭獠靠蓜?chuàng)建的對(duì)象,所以就可以從VB應(yīng)用程序內(nèi)部來(lái)程序化操縱Excel。本文結(jié)合自己的實(shí)踐和體會(huì),談?wù)勅绾卧赩B6.0應(yīng)用程序中調(diào)用Exce1,供大家參考。Excel對(duì)象模型為了在VB應(yīng)用程序中調(diào)用Excel,必須要了解Excel對(duì)象模型。Excel對(duì)象模型描述了Excel的理論結(jié)構(gòu),所提供的對(duì)象很多,其中最重要的對(duì)象,即涉及VB調(diào)用Excel最可能用到的對(duì)象有:二、調(diào)用Excel在VB應(yīng)用程序中調(diào)用Excel,實(shí)質(zhì)是將Excel作為一個(gè)外部對(duì)象來(lái)引用,由Excel對(duì)象模型提供能從VB應(yīng)用程序內(nèi)部來(lái)程序化操縱的對(duì)象以及相關(guān)的屬性、方法和事件。1、在VB工程中添加對(duì)Excel類型庫(kù)的引用塊,需要在VB工程中添加對(duì)Excel類型庫(kù)的引用。注:要想在VB應(yīng)用程序中調(diào)用Excel,你的計(jì)算機(jī)系統(tǒng)中必須安裝Excel。2、引用Application對(duì)象Application對(duì)象是Excel對(duì)象模型的頂層,表示整個(gè)Excel應(yīng)用程序。在VB應(yīng)用程序中調(diào)用Excel,就是使用Application對(duì)象的屬性、方法和事件。為此,首先要聲明對(duì)象變量:DimVBExcelAsObject或直接聲明為Excel對(duì)象:DimVBExcelAsExcel.Application。在聲明對(duì)象變量之后,可用CreateObject函數(shù)或GetObject函數(shù)給變量賦值新的或已存在的Application對(duì)象引用。三、使用Excel應(yīng)用程序如前所述,在VB應(yīng)用程序中調(diào)用Excel應(yīng)用程序,就是使用Application對(duì)象的屬性、方法和事件。下面分類給出其中常用的屬性和方法。1、使用工作薄Workbook對(duì)象代表Excel應(yīng)用程序中當(dāng)前打開(kāi)的一個(gè)工作簿,包含在Workbooks集合中??梢酝ㄟ^(guò)Workbooks集合或表示當(dāng)前活動(dòng)工作簿的ActiveWorkbook對(duì)象訪問(wèn)Workbook對(duì)象。2、使用工作表Sheets集合表示工作簿中所有的工作表。可以通過(guò)Sheets集合來(lái)訪問(wèn)、激活、增加、更名和刪除工作表。一個(gè)Worksheet對(duì)象代表一個(gè)工作表。3、使用單元范圍Range對(duì)象代表工作表的某一單元格、某一行、某一列、某一選定區(qū)域或者某一三維區(qū)域。4、使用圖表Chart對(duì)象代表工作簿中的圖表。該圖表既可為嵌人式圖表(包含于ChartObject對(duì)象中)也可為分立的圖表工作表。5、使用Excel工作表函數(shù)在VB語(yǔ)句中可使用大部分的Excel工作表函數(shù),可通過(guò)WorksheetFunction對(duì)象調(diào)用Excel工作表函數(shù)。四、應(yīng)用實(shí)例下面是VB調(diào)用EXCEL進(jìn)行外業(yè)記錄和數(shù)據(jù)處理的程序界面,界面的制作方法不再敘述了,程序代碼見(jiàn)附錄。先利用VB應(yīng)用程序調(diào)用EXCEL進(jìn)行數(shù)據(jù)的記錄,然后再利用EXCEL的宏程序(VBA)(程序代碼見(jiàn)附錄)進(jìn)行數(shù)據(jù)的處理和曲線圖表的生成。如下表:這樣既實(shí)現(xiàn)了程序界面化的可操作性,同時(shí)也體現(xiàn)了基于面向?qū)ο蟮姆椒ǖ膶?shí)現(xiàn)。使VB、Excel以及ExceL宏程序(VBA)三者交互接合起來(lái),相得益彰。五、結(jié)論以上簡(jiǎn)要介紹了Excel對(duì)象模型中部分對(duì)象及其屬性和方法。通過(guò)使用這些方法,就能很好地把VB和Excel接合起來(lái),充分利用Excel的強(qiáng)大的數(shù)學(xué)分析、計(jì)算和圖表功能。把它們有機(jī)地掛接在一起,從而實(shí)現(xiàn)二者的無(wú)縫連接。為日常工作中一些復(fù)雜的數(shù)據(jù)處理帶來(lái)極大的便利。更詳細(xì)的信息可參閱Excel幫助中的內(nèi)容。實(shí)際上,MicrosoftOffice家族的Word、PowerPoint、Access和Project等應(yīng)用程序都可以在VB應(yīng)用程序中調(diào)用,其原理和步驟完全相同,只是其對(duì)象模型有所不同而已。附錄:程序代碼:OptionExplicitDima,b,c,dAsDouble’申明變量申明EXCEL變量DimxlAppAsExcel.ApplicationDimxlBookAsExcel.WorkbookDimxlSheetAsExcel.WorksheetPrivateSubcommand10_click()’選擇數(shù)據(jù)存盤目錄Dimfilename,outputfileAsStringCommonDialog1.Filter="excel(*.xls)|*.xls|richfile(*.rtf)|*.rtf|allfiles(*.*)|*.*"CommonDialog1.FilterIndex=1CommonDialog1.ShowSaveoutputfile=CommonDialog1.filenameText36.text=outputfileText33.SetFocusEndSubPrivateSubCommand5_Click()’VB主程序SetxlApp=CreateObject("Excel.Application")’創(chuàng)建EXCE對(duì)象LxlApp.Visible=False’設(shè)置Excel對(duì)象不可見(jiàn)(或可見(jiàn))SetxlBook=xlApp.Workbooks.Open("c:\programfiles\temp\水平角記錄表.xls")’打開(kāi)Excel工作表SetxlSheet=xlBook.Worksheets("sheet1")’設(shè)置活動(dòng)工作表xlSheet.Cells(ww,4)=Format(aaa,"000000")’記錄數(shù)據(jù)到EXCEL工作表xlSheet.Cells(ww,5)=Format(bbb,"000000")xlSheet.Cells(ww,6)=Text7.textxlSheet.Cells(ww,7)=Text9.textxlBook.saveAsText36.text’保存數(shù)據(jù)到Excel工作表xlBook.Close(True)’關(guān)閉工作表xlApp.Quit’退出工作表SetxlApp=Nothing’釋放對(duì)應(yīng)用程序和電子數(shù)據(jù)表的引用DimintaAsDoubleinta=MsgBox("下一站?。?!",0,"!??!水平角!?。?)Form1.Text33.SetFocusForm1.Text33.SelStart=0Form1.Text33.SelLength=Len(Text33.text)EndSub’結(jié)束程序EXCEL宏程序(VBA)PublicFunctionzh1(txtAsDouble)AsDouble'格式轉(zhuǎn)化函數(shù)Dima1AsDoublea1=Int((txt+3*10^-10)/10000)zh1=a1EndFunctionPrivateSubCommandButton3_Click()'調(diào)入記錄數(shù)據(jù)Dimhhh,tt,lllAsDoublehhh=InputBox("請(qǐng)輸入計(jì)算表起始行數(shù)","輸入計(jì)算表開(kāi)始行!!")tt=InputBox("請(qǐng)輸入計(jì)算表結(jié)束行數(shù)","輸入計(jì)算表結(jié)束行!!")lll=InputBox("請(qǐng)輸入計(jì)算表與轉(zhuǎn)換表起始行數(shù)差值","輸入計(jì)算表與轉(zhuǎn)換表起始行數(shù)差值!!")Forhh=hhhTottSheet4.Cells(hh,6)=zh1(Sheet5.Cells(hh-lll,4))’不同工作表間的數(shù)據(jù)交換Sheet4.Cells(hh,7)=zh2(Sheet5.Cells(hh-lll,4))NexthhEndSubPrivateSubWorksheet_SelectionChange(ByValTargetAsRange)’EXCEL成果表處理h=9Doh=h+1LoopUntilSheet1.Cells(h,3)=""n=Sheet1.Cells(4,22)ForI=10Toh-1A=Sheet1.Cells(I,5)CallHAN(A,c)Sheet2.Cells(c,2*n)=Sheet1.Cells(I,26)Sheet2.Cells(c,2*n+1)=Sheet1.Cells(I,27)NextISheet2.Cells(2,2*n)=Sheet1.Cells(5,7)Sheet2.Cells(3,2*n)="變化量"Sheet2.Cells(3,2*n+1)="累計(jì)變化量"EndSub基于工作表“Sheetl”中單元格區(qū)域“A1:A20”中的數(shù)據(jù)生成新的折線圖并打印。WithCharts.Add.ChartWizardsource:=Worksheets("sheet1").Range("a1:a20"),gallery:=xlLine,title:=“折線圖表”.PrintoutEndWith[參考文獻(xiàn)][1]孫敬
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZJBS 001-2024 城市公共標(biāo)識(shí)系統(tǒng)設(shè)計(jì)規(guī)范
- T-ZSA 230-2024 虛擬數(shù)字人多模態(tài)交互信息規(guī)范
- 二零二五年度荒山土地流轉(zhuǎn)與林業(yè)碳匯項(xiàng)目合作合同
- 二零二五年度企業(yè)合規(guī)管理體系法律服務(wù)合同范本
- 二零二五年度離婚協(xié)議書(shū)模板及婚姻關(guān)系終止及財(cái)產(chǎn)分配
- 二零二五年度診所醫(yī)療事故處理及責(zé)任劃分合同
- 二零二五年度養(yǎng)老護(hù)理型住宅正規(guī)房屋出租合同
- 二零二五年度混凝土班組勞務(wù)合作施工安全責(zé)任合同
- 二零二五年度銷售信息保密管理承諾書(shū)
- 2025年度耕地租賃與農(nóng)業(yè)科技推廣合同
- SCADA系統(tǒng)操作手冊(cè)
- 滲透測(cè)試報(bào)告模版
- 老年人預(yù)防及控制養(yǎng)老院院內(nèi)感染院內(nèi)感染基本知識(shí)
- GB/T 10060-2023電梯安裝驗(yàn)收規(guī)范
- TB編程從入門到進(jìn)階
- 教師溝通能力提升培訓(xùn)幼兒園家長(zhǎng)溝通技巧教學(xué)課件
- 喀喇沁旗樓子店鄉(xiāng)上燒鍋白石礦石灰?guī)r礦2022年度礦山地質(zhì)環(huán)境治理計(jì)劃書(shū)
- 第三單元名著導(dǎo)讀《駱駝祥子》課件部編版語(yǔ)文七年級(jí)下冊(cè)
- 高老師講語(yǔ)文-燈籠-部編版
- 事業(yè)單位個(gè)人德能勤績(jī)廉工作總結(jié)(2篇)
- 《英語(yǔ)詞匯學(xué)》課程教學(xué)大綱
評(píng)論
0/150
提交評(píng)論