版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
*第12章VB與Excel12.1VB中Excel的相關(guān)操作
12.2VB與Excel的數(shù)據(jù)交換
12.3VB對Excel的排版操作
12.4利用Excel中宏編寫VBA代碼
12.1VB中Excel的相關(guān)操作
12.1.1Excel對象庫引用
在VB中引用Excel對象,首先需要打開VB編程環(huán)境“工程”菜單中的“引用”功能項(xiàng),并選取項(xiàng)目中的“MicrosoftExcel11.0objectlibrary”(Excel版本不同,這個(gè)選項(xiàng)中的版本號可能不一樣)即可。引用Excel對象庫后,對編寫代碼會帶來很多便利。12.1.2Excel對象聲明
Excel是以層次結(jié)構(gòu)組織對象的,其對象模型中含有許多不同的對象元素。編程過程中主要用到以下4個(gè)層次的對象。
(1)?Application對象,即Excel程序本身。
(2)?WorkBook對象,即Excel的工作簿文件對象。
(3)?WorkSheets對象表示的是Excel的工作表對象集。
(4)?Cells、Range、Rows、Columns對象分別表示Excel工作表中的單元格對象集、區(qū)域?qū)ο蟆⑿袑ο蠹⒘袑ο蠹?2.1.3VB中Excel的啟動與關(guān)閉
例12-1
新建立一個(gè)VB的工程,在窗體上添加2個(gè)命令按鈕(Command1,Command2),按鈕的Caption屬性分別為“啟動Excel”和“關(guān)閉Excel”。
按照12.1.1節(jié)所述方法引入Excel對象庫后輸入以下代碼即可。
DimxlsAsNewExcel.Application '聲明一個(gè)Excel應(yīng)用程序?qū)ο?/p>
DimxbookAsNewExcel.Workbook '聲明一個(gè)Excel工作簿對象
DimxsheetAsNewExcel.Worksheet '聲明一個(gè)Excel工作表對象
12.2VB與Excel的數(shù)據(jù)交換
例12-2
將在VB中隨機(jī)生成的一組學(xué)生成績數(shù)據(jù)保存到一個(gè)Excel工作簿中。
新建一個(gè)VB工程,引用“MicrosoftExcel11.0objectlibrary”對象庫后,在窗體上添加2個(gè)按鈕(Command1,Command2),它們的Caption屬性分別為“生成數(shù)據(jù)存入Excel”和“保存及關(guān)閉Excel”。
程序代碼如下:
12.3VB對Excel的排版操作
VB不僅可以與Excel實(shí)現(xiàn)數(shù)據(jù)交換,還可以對Excel進(jìn)行刪除或插入表行、列以及各種排版操作。
以下程序代碼可以實(shí)現(xiàn)將例12-1生成的文件打開并執(zhí)行排版操作:將標(biāo)題行高設(shè)置為40磅,合并后水平居中、垂直居中,字體為隸書,字號為24磅,對表中的行加上表線。同例12-1一樣,在窗體上添加2個(gè)命令按鈕,并通過“工程”菜單“引用”Excel對象庫后,錄入以下代碼:
DimxlsAsNewExcel.Application
DimxbookAsNewExcel.Workbook
DimxsheetAsNewExcel.Worksheet
PrivateSubCommand1_Click() 12.4利用Excel中宏編寫VBA代碼
VBA(VisualBasicforApplication)是微軟應(yīng)用程序共享的一種通用自動化語言,也就是通常說的“宏”。它在語法上與VB一致,可以說VBA是VB的一個(gè)子集,主要用于Office的自動化編程。要全面掌握Excel中的VBA語言是非常困難的,因?yàn)樯婕暗教嗟膶ο?、屬性及其方法,但利用微軟公司提供的宏錄制功能,學(xué)習(xí)就變得易如反掌。
宏就是一段程序,存在于Office系列應(yīng)用軟件中,如Word、Excel、PowerPoint、OutLook等。對這些應(yīng)用軟件的所有操作步驟都錄制成宏代碼,然后再對宏代碼進(jìn)行分析,是學(xué)習(xí)VBA最好的方法。下面以Excel為例介紹宏的錄制方法。在Excel中設(shè)置單元格的字體、字號、邊框線的VBA代碼的操作步驟如下:
(1)啟動Excel,在任何一個(gè)單元格中錄入一些內(nèi)容,如在C4單元格內(nèi)錄入“中華人民共和國”,選擇“工具”→“宏”→“錄制新宏”,界面如圖12-1所示。圖12-1“錄制新宏”對話框所有內(nèi)容均使用默認(rèn),單擊“確定”按鈕,Excel界面上會多一個(gè)宏錄制工具欄,如圖12-2所示。圖12-2處于宏錄制狀態(tài)的Excel界面
(2)選中單元格“C4”,設(shè)置字體為“黑體”,字號為24磅,左右加邊框,完成這些操作后單擊宏錄制工具欄中的停止錄制按鈕,結(jié)束宏錄制。
(3)按Alt?+?F11鍵進(jìn)入Excel中的VBA集成開發(fā)環(huán)境,這個(gè)界面和VB的集成開發(fā)環(huán)境非常相似,如圖12-3所示。圖12-3VBA集成開發(fā)環(huán)境
(4)展開窗口左側(cè)的“模塊”,可以看到其中的“模塊1”,這就是剛才錄制的宏,雙擊“模塊1”,可以在窗口右側(cè)看到錄制的宏代碼,如圖12-4所示。圖12-4宏代碼由于宏會對每一個(gè)步驟分別進(jìn)行錄制,所以代碼看起來特別繁瑣,可以將其中沒有進(jìn)行特別處理的代碼全部刪除,這樣就可以得到想要的VBA指令了。簡化后的VBA代碼如圖12-5所示。圖12-5簡化后的VBA代碼以上代碼其實(shí)還可以再簡化如下:
SubMacro1()
Selection.Font.Name="黑體"
Selection.Font.Size=24
Selection.Borders(xlEdgeLeft).LineStyle=xlContinuous
Selection.Borders(xlEdgeRight).LineStyle=xlContinuous
EndSub通過以上步驟,就可以學(xué)習(xí)Excel中對字體、字號、邊框線的設(shè)置方法,也就可以直接用于VB中對Excel的控制了。
假設(shè)VB中Excel應(yīng)用程序的對象名為xls,以下是部分操作的代碼:
(1)顯示當(dāng)前窗口:
xls.Visible=True
(2)更改Excel標(biāo)題欄:
xls.Caption:="應(yīng)用程序調(diào)用MicrosoftExcel"
(3)添加新工作簿:
xls.WorkBooks.Add
(4)打開已存在的工作簿:
xls.WorkBooks.Open("c:\temp.xls")
(5)設(shè)置第2個(gè)工作表為活動工作表:
xls.WorkSheets(2).Activate
或
xls.WorkSheets("Sheet2").Activate
(6)給單元格賦值:
xls.Cells(1,4).Value="第一行第四列"
(7)設(shè)置指定列的寬度(單位:字符個(gè)數(shù)),以第一列為例:
xls.ActiveSheet.Columns(1).ColumnsWidth=5
(8)設(shè)置指定行的高度(單位:磅,1磅=0.035?cm),以第二行為例:
xls.ActiveSheet.Rows(2).RowHeight=1/0.035'?1?cm
(9)在第8行之前插入分頁符:
xls.WorkSheets(1).Rows(8).PageBreak=1
(10)指定邊框線寬度:
xls.ActiveSheet.Range("B3:D4").Borders(2).Weight
=3
(11)設(shè)置第一行字體屬性:
Xls.ActiveSheet.Rows(1).Font.Name='隸書'
Xls.ActiveSheet.Rows(1).Font.Color=clBlue
Xls.ActiveSheet.Rows(1).Font.Bold=True
Xls.ActiveSheet.Rows(1).Font.UnderLine=True
(12)進(jìn)行頁面設(shè)置:
·頁眉:Xls.ActiveSheet.PageSetup.CenterHeader="報(bào)表演示"
·頁腳:Xls.ActiveSheet.PageSetup.CenterFooter="第&P頁"
·頁眉到頂端邊距2cm:Xls.ActiveSheet.PageSetup.HeaderMargin=2/0.035
·頁腳到底端邊距3cm:Xls.ActiveSheet.PageSetup.footerMargin=3/0.035
·頂邊距2cm:Xls.ActiveSheet.PageSetup.TopMargin=2/0.035
·底邊距2cm:Xls.ActiveSheet.PageSetup.BottomMargin=2/0.035
·左邊距2cm:Xls.ActiveSheet.PageSetup.LeftMargin=2/0.035
·右邊距2cm:Xls.ActiveSheet.PageSetup.RightMargin=2/0.035
·頁面水平居中:Xls.ActiveSheet.PageSetup.CenterHorizontally=True
·頁面垂直居中:Xls.ActiveSheet.PageSetup.CenterVertically=True
·打印單元格網(wǎng)線:Xls.ActiveSheet.PageSetup.PrintGridLines=True
(13)拷貝操作:
·拷貝整個(gè)工作表:Xls.ActiveSheet.Used.Range.Copy
·拷貝指定區(qū)域:Xls.ActiveSheet.Range("A1:E2").Copy
·從A1位置開始粘貼:Xls.ActiveSheet.Range.("A1").PasteSpecial
·從文件尾部開始粘貼:Xls.ActiveSheet.Range.PasteSpecial
(14)插入一行或一列:
·在第2行上面插入一行:Xls.ActiveSheet.Rows(2).Insert
·在第1列左側(cè)插入一列:Xls.ActiveSheet.Columns(1).Insert
(15)刪除一行或一列:
·刪除第2行:Xls.ActiveSheet.Rows(2).Delete
·刪除第1列:Xls.ActiveSheet.Columns(1).Delete
(16)打印預(yù)覽工作表:
Xls.ActiveSheet.PrintPreview
(17)打印輸出工作表:
Xls.ActiveSheet.PrintOut
(18)工作表保存:
Xls.ActiveWorkBook.Save
(19)工作表另存為:
Xls.SaveAs("c:\temp.xls")
(20)退出Excel:
Xls.Quit
(21)設(shè)置打開默認(rèn)工作簿數(shù)量:
Xls.SheetsInNewWorkbook=3
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國花粉罐數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國無機(jī)仿真巖板數(shù)據(jù)監(jiān)測研究報(bào)告
- 養(yǎng)殖場買賣合同
- 二零二五年度工廠生產(chǎn)設(shè)備買賣及綠色制造標(biāo)準(zhǔn)合同3篇
- 房屋銷售居間協(xié)議合同范本
- 2024綜合服務(wù)招標(biāo)采購協(xié)議定制版版
- 北師大版數(shù)學(xué)三年級上冊第四單元乘與除質(zhì)量提升測試卷(含答案)
- 藥學(xué)技術(shù)人員管理(藥事管理與法規(guī)課件)
- 二零二五不銹鋼管材進(jìn)出口貿(mào)易合作協(xié)議書3篇
- 如何提升員工安全意識
- 特種涂料類型——耐核輻射涂料的研究
- 化工裝置常用英語詞匯對照
- 隔膜壓縮機(jī)(課堂PPT)
- 物資采購管理流程圖
- 無牙頜解剖標(biāo)志
- 標(biāo)準(zhǔn)《大跨徑混凝土橋梁的試驗(yàn)方法》
- 格拉斯哥昏迷評分(GCS)--表格-改良自用
- ISO9001記錄保存年限一覽表
- 兒童暈厥診斷指南(2016年修訂版)倪世宏
- DLT666-2012風(fēng)電場運(yùn)行規(guī)程
- 檢定校準(zhǔn)證書模板(共5頁)
評論
0/150
提交評論