《Visual Basic程序設計》課件1第12章_第1頁
《Visual Basic程序設計》課件1第12章_第2頁
《Visual Basic程序設計》課件1第12章_第3頁
《Visual Basic程序設計》課件1第12章_第4頁
《Visual Basic程序設計》課件1第12章_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

*第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)境“工程”菜單中的“引用”功能項,并選取項目中的“MicrosoftExcel11.0objectlibrary”(Excel版本不同,這個選項中的版本號可能不一樣)即可。引用Excel對象庫后,對編寫代碼會帶來很多便利。12.1.2Excel對象聲明

Excel是以層次結(jié)構(gòu)組織對象的,其對象模型中含有許多不同的對象元素。編程過程中主要用到以下4個層次的對象。

(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

新建立一個VB的工程,在窗體上添加2個命令按鈕(Command1,Command2),按鈕的Caption屬性分別為“啟動Excel”和“關(guān)閉Excel”。

按照12.1.1節(jié)所述方法引入Excel對象庫后輸入以下代碼即可。

DimxlsAsNewExcel.Application '聲明一個Excel應用程序?qū)ο?/p>

DimxbookAsNewExcel.Workbook '聲明一個Excel工作簿對象

DimxsheetAsNewExcel.Worksheet '聲明一個Excel工作表對象

12.2VB與Excel的數(shù)據(jù)交換

例12-2

將在VB中隨機生成的一組學生成績數(shù)據(jù)保存到一個Excel工作簿中。

新建一個VB工程,引用“MicrosoftExcel11.0objectlibrary”對象庫后,在窗體上添加2個按鈕(Command1,Command2),它們的Caption屬性分別為“生成數(shù)據(jù)存入Excel”和“保存及關(guān)閉Excel”。

程序代碼如下:

12.3VB對Excel的排版操作

VB不僅可以與Excel實現(xiàn)數(shù)據(jù)交換,還可以對Excel進行刪除或插入表行、列以及各種排版操作。

以下程序代碼可以實現(xiàn)將例12-1生成的文件打開并執(zhí)行排版操作:將標題行高設置為40磅,合并后水平居中、垂直居中,字體為隸書,字號為24磅,對表中的行加上表線。同例12-1一樣,在窗體上添加2個命令按鈕,并通過“工程”菜單“引用”Excel對象庫后,錄入以下代碼:

DimxlsAsNewExcel.Application

DimxbookAsNewExcel.Workbook

DimxsheetAsNewExcel.Worksheet

PrivateSubCommand1_Click() 12.4利用Excel中宏編寫VBA代碼

VBA(VisualBasicforApplication)是微軟應用程序共享的一種通用自動化語言,也就是通常說的“宏”。它在語法上與VB一致,可以說VBA是VB的一個子集,主要用于Office的自動化編程。要全面掌握Excel中的VBA語言是非常困難的,因為涉及到太多的對象、屬性及其方法,但利用微軟公司提供的宏錄制功能,學習就變得易如反掌。

宏就是一段程序,存在于Office系列應用軟件中,如Word、Excel、PowerPoint、OutLook等。對這些應用軟件的所有操作步驟都錄制成宏代碼,然后再對宏代碼進行分析,是學習VBA最好的方法。下面以Excel為例介紹宏的錄制方法。在Excel中設置單元格的字體、字號、邊框線的VBA代碼的操作步驟如下:

(1)啟動Excel,在任何一個單元格中錄入一些內(nèi)容,如在C4單元格內(nèi)錄入“中華人民共和國”,選擇“工具”→“宏”→“錄制新宏”,界面如圖12-1所示。圖12-1“錄制新宏”對話框所有內(nèi)容均使用默認,單擊“確定”按鈕,Excel界面上會多一個宏錄制工具欄,如圖12-2所示。圖12-2處于宏錄制狀態(tài)的Excel界面

(2)選中單元格“C4”,設置字體為“黑體”,字號為24磅,左右加邊框,完成這些操作后單擊宏錄制工具欄中的停止錄制按鈕,結(jié)束宏錄制。

(3)按Alt?+?F11鍵進入Excel中的VBA集成開發(fā)環(huán)境,這個界面和VB的集成開發(fā)環(huán)境非常相似,如圖12-3所示。圖12-3VBA集成開發(fā)環(huán)境

(4)展開窗口左側(cè)的“模塊”,可以看到其中的“模塊1”,這就是剛才錄制的宏,雙擊“模塊1”,可以在窗口右側(cè)看到錄制的宏代碼,如圖12-4所示。圖12-4宏代碼由于宏會對每一個步驟分別進行錄制,所以代碼看起來特別繁瑣,可以將其中沒有進行特別處理的代碼全部刪除,這樣就可以得到想要的VBA指令了。簡化后的VBA代碼如圖12-5所示。圖12-5簡化后的VBA代碼以上代碼其實還可以再簡化如下:

SubMacro1()

Selection.Font.Name="黑體"

Selection.Font.Size=24

Selection.Borders(xlEdgeLeft).LineStyle=xlContinuous

Selection.Borders(xlEdgeRight).LineStyle=xlContinuous

EndSub通過以上步驟,就可以學習Excel中對字體、字號、邊框線的設置方法,也就可以直接用于VB中對Excel的控制了。

假設VB中Excel應用程序的對象名為xls,以下是部分操作的代碼:

(1)顯示當前窗口:

xls.Visible=True

(2)更改Excel標題欄:

xls.Caption:="應用程序調(diào)用MicrosoftExcel"

(3)添加新工作簿:

xls.WorkBooks.Add

(4)打開已存在的工作簿:

xls.WorkBooks.Open("c:\temp.xls")

(5)設置第2個工作表為活動工作表:

xls.WorkSheets(2).Activate

xls.WorkSheets("Sheet2").Activate

(6)給單元格賦值:

xls.Cells(1,4).Value="第一行第四列"

(7)設置指定列的寬度(單位:字符個數(shù)),以第一列為例:

xls.ActiveSheet.Columns(1).ColumnsWidth=5

(8)設置指定行的高度(單位:磅,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)設置第一行字體屬性:

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)進行頁面設置:

·頁眉:Xls.ActiveSheet.PageSetup.CenterHeader="報表演示"

·頁腳: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)拷貝操作:

·拷貝整個工作表: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)打印預覽工作表:

Xls.ActiveSheet.PrintPreview

(17)打印輸出工作表:

Xls.ActiveSheet.PrintOut

(18)工作表保存:

Xls.ActiveWorkBook.Save

(19)工作表另存為:

Xls.SaveAs("c:\temp.xls")

(20)退出Excel:

Xls.Quit

(21)設置打開默認工作簿數(shù)量:

Xls.SheetsInNewWorkbook=3

溫馨提示

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

評論

0/150

提交評論