下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
VB應(yīng)用程序調(diào)用EXCEL進(jìn)行數(shù)據(jù)處理摘要:從VB應(yīng)用程序內(nèi)部來程序化操縱Excel,利用EXCEL軟件中的宏程序(VBA)功能,結(jié)合VB程序語言來進(jìn)行界面化程序編制,以達(dá)到利用VB調(diào)用EXCEL進(jìn)行程序化數(shù)據(jù)處理的目的。關(guān)鍵詞:VB應(yīng)用程序;EXCEL對象模型;EXCEL宏程序(VBA);VB調(diào)用EXCEL記錄和處理數(shù)據(jù)。引言VisualBasic簡稱(VB)是設(shè)計(jì)Windows應(yīng)用程序強(qiáng)有力的開發(fā)工具,“全球絕大多數(shù)Windows應(yīng)用程序都是用VB開發(fā)的”;相信大家對VBA也有所耳聞,只是很多朋友沒有使用過。VBA是VisualBasicforApplication的簡稱。大家知道VisualBasic是一種編程語言,而VBA就是在VisualBasic平臺中將MicrosoftOffice中的每個應(yīng)用程序都看成一個對象。每個應(yīng)用程序都由各自的Application對象代表。Excel是目前使用最廣泛的辦公應(yīng)用軟件之一,它具有強(qiáng)大的數(shù)學(xué)分析與計(jì)算功能,包括很多VB沒有的求值數(shù)學(xué)表達(dá)式的函數(shù)和方法。由于Excel的應(yīng)用程序?qū)ο笫峭獠靠蓜?chuàng)建的對象,所以就可以從VB應(yīng)用程序內(nèi)部來程序化操縱Excel。本文結(jié)合自己的實(shí)踐和體會,談?wù)勅绾卧赩B6.0應(yīng)用程序中調(diào)用Exce1,供大家參考。Excel對象模型為了在VB應(yīng)用程序中調(diào)用Excel,必須要了解Excel對象模型。Excel對象模型描述了Excel的理論結(jié)構(gòu),所提供的對象很多,其中最重要的對象,即涉及VB調(diào)用Excel最可能用到的對象有:
二、調(diào)用Excel
在VB應(yīng)用程序中調(diào)用Excel,實(shí)質(zhì)是將Excel作為一個外部對象來引用,由Excel對象模型提供能從VB應(yīng)用程序內(nèi)部來程序化操縱的對象以及相關(guān)的屬性、方法和事件。
1、在VB工程中添加對Excel類型庫的引用塊,需要在VB工程中添加對Excel類型庫的引用。注:要想在VB應(yīng)用程序中調(diào)用Excel,你的計(jì)算機(jī)系統(tǒng)中必須安裝Excel。
2、引用Application對象
Application對象是Excel對象模型的頂層,表示整個Excel應(yīng)用程序。在VB應(yīng)用程序中調(diào)用Excel,就是使用Application對象的屬性、方法和事件。為此,首先要聲明對象變量:DimVBExcelAsO或直接聲明為Excel對象:DimVBExcelAsExcel.Application。在聲明對象變量之后,可用CreateObject函數(shù)或GetObject函數(shù)給變量賦值新的或已存在的Application對象引用。三、使用Excel應(yīng)用程序
如前所述,在VB應(yīng)用程序中調(diào)用Excel應(yīng)用程序,就是使用Application對象的屬性、方法和事件。下面分類給出其中常用的屬性和方法。1、使用工作薄
Workbook對象代表Excel應(yīng)用程序中當(dāng)前打開的一個工作簿,包含在Workbooks集合中。可以通過Workbooks集合或表示當(dāng)前活動工作簿的ActiveWorkbook對象訪問Workbook對象。
2、使用工作表
Sheets集合表示工作簿中所有的工作表??梢酝ㄟ^Sheets集合來訪問、激活、增加、更名和刪除工作表。一個Worksheet對象代表一個工作表。
3、使用單元范圍
Range對象代表工作表的某一單元格、某一行、某一列、某一選定區(qū)域或者某一三維區(qū)域。
4、使用圖表
Chart對象代表工作簿中的圖表。該圖表既可為嵌人式圖表(包含于ChartObject對象中)也可為分立的圖表工作表。5、使用Excel工作表函數(shù)
在VB語句中可使用大部分的Excel工作表函數(shù),可通過WorksheetFunction對象調(diào)用Excel工作表函數(shù)。四、應(yīng)用實(shí)例下面是VB調(diào)用EXCEL進(jìn)行外業(yè)記錄和數(shù)據(jù)處理的程序界面,界面的制作方法不再敘述了,程序代碼見附錄。先利用VB應(yīng)用程序調(diào)用EXCEL進(jìn)行數(shù)據(jù)的記錄,然后再利用EXCEL的宏程序(VBA)(程序代碼見附錄)進(jìn)行數(shù)據(jù)的處理和曲線圖表的生成。如下表:這樣既實(shí)現(xiàn)了程序界面化的可操作性,同時也體現(xiàn)了基于面向?qū)ο蟮姆椒ǖ膶?shí)現(xiàn)。使VB、Excel以及ExceL宏程序(VBA)三者交互接合起來,相得益彰。五、結(jié)論以上簡要介紹了Excel對象模型中部分對象及其屬性和方法。通過使用這些方法,就能很好地把VB和Excel接合起來,充分利用Excel的強(qiáng)大的數(shù)學(xué)分析、計(jì)算和圖表功能。把它們有機(jī)地掛接在一起,從而實(shí)現(xiàn)二者的無縫連接。為日常工作中一些復(fù)雜的數(shù)據(jù)處理帶來極大的便利。更詳細(xì)的信息可參閱Excel幫助中的內(nèi)容。實(shí)際上,MicrosoftOffice家族的Word、PowerPoint、Access和Project等應(yīng)用程序都可以在VB應(yīng)用程序中調(diào)用,其原理和步驟完全相同,只是其對象模型有所不同而已。附錄:程序代碼: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對象LxlApp.Visible=False’設(shè)置Excel對象不可見(或可見)SetxlBook=xlApp.Workbooks.Open("c:\programfiles\temp\水平角記錄表.xls")’打開Excel工作表SetxlSheet=xlBook.Worksheets("sheet1")’設(shè)置活動工作表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’釋放對應(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("請輸入計(jì)算表起始行數(shù)","輸入計(jì)算表開始行!!")tt=InputBox("請輸入計(jì)算表結(jié)束行數(shù)","輸入計(jì)算表結(jié)束行!!")lll=InputBox("請輸入計(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))NexthhEndSPrivateSubWorksheet_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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 31901-2024服裝穿著試驗(yàn)及評價方法
- 2025預(yù)算合同部管理制度
- 2025材料供貨合同
- 廠房獨(dú)家代理協(xié)議合同范例
- 抵款房屋合同范例
- 職工餐承包合同范例
- 品牌全案策劃合同范例
- 2025合同增補(bǔ)協(xié)議
- 影視公司接待合同范例
- 專業(yè)版不動產(chǎn)抵押合同范例
- 以工代賑工作總結(jié)范文
- 《??轮R考古學(xué)》課件
- 第5.2課《學(xué)習(xí)工匠事跡領(lǐng)略工匠風(fēng)采》(課件)-【中職專用】高二語文同步課件(高教版2023·職業(yè)模塊)
- 峨眉山月歌-李白
- 社會情感學(xué)習(xí)在學(xué)校中的推廣
- 關(guān)于強(qiáng)化煤炭生產(chǎn)行業(yè)稅務(wù)稽查的思考
- IPv6地址規(guī)劃策略
- 新視野大學(xué)英語(第四版)讀寫教程1(思政智慧版)課件 Unit 6 Winning is not everything Section B
- 學(xué)校教研工作組織機(jī)構(gòu)(5篇范例)
- 2022-2023學(xué)年湘少版(三起)六年級英語上冊期末測試題含答案
- 人教版2023-2024學(xué)年五年級數(shù)學(xué)上冊第五單元:列方程解雞兔同籠問題專項(xiàng)練習(xí)(原卷版)+(解析答案)
評論
0/150
提交評論