vb程序調(diào)用excel數(shù)據(jù).doc_第1頁
vb程序調(diào)用excel數(shù)據(jù).doc_第2頁
vb程序調(diào)用excel數(shù)據(jù).doc_第3頁
vb程序調(diào)用excel數(shù)據(jù).doc_第4頁
vb程序調(diào)用excel數(shù)據(jù).doc_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Visual Basic調(diào)用Excel之技巧吳聲松 (湖北省水利水電勘測設(shè)計院地質(zhì)大隊 湖北 430070)Visual Basic(以下簡稱VB)是一套可視化、面向?qū)ο?、事件?qū)動方式的結(jié)構(gòu)化程序設(shè)計語言,已經(jīng)成為許多程序設(shè)計者甚至專業(yè)程序員用來開發(fā)WINDOWS應(yīng)用程序的首選開發(fā)工具。但用過VB的程序設(shè)計人員都知道,要想用VB輸出復(fù)雜的表格來,是十分困難的。能不能用VB調(diào)用EXCEL呢?Active技術(shù)標(biāo)準(zhǔn)為我們解決了這個問題。最近筆者為單位開發(fā)“土工試驗數(shù)據(jù)整理”的某個模塊時,涉及到復(fù)雜數(shù)據(jù)表格的輸出問題,經(jīng)過筆者的摸索,用VB調(diào)用EXCEL,取得了很好的效果。本文從編程實踐的角度對使用VB控制EXCEL的技術(shù)作簡要說明。1 EXCEL的對象模型如果一個應(yīng)用程序支持自動化技術(shù),那么其它的應(yīng)用就可以通過其暴露的對象,對它進(jìn)行控制,控制程序稱為客戶機(jī),而被控制的一方就稱為服務(wù)器,被控制的對象就是Active對象。VB正是通過EXCEL顯露的各級對象來控制EXCEL工作的。每個對象都有各自的方法和屬性,通過方法可以實現(xiàn)對對象的控制,而屬性則可以改變對象的各種狀態(tài)。理解EXCEL的對象模型是對其編程的基礎(chǔ)。EXCEL是以層次結(jié)構(gòu)組織對象的,其對象模型中含有許多不同的對象元素,這些對象元素就是VB可以操縱的。在EXCEL對象的層次結(jié)構(gòu)中,最頂層是Application對象,是Excel本身。從該對象開始往下依次是:.workbooks對象集,是Application對象的下層,其指的是Excel的工作簿文件。.worksheets對象集,是Workbooks對象集的下層,它表示的是Excel的一個工作表。.Cells和Range對象,它們是worksheets對象的下層,它則指向Excel工作表中的一個或多個單元格。 以上介紹的四個對象是Excel中最重要也是用得最多的對象,而且從上面的介紹中也不難看出,要控制Excel中的某個具體對象,如某個工作簿中某一表格中的單元格,就必須從Excel層次結(jié)構(gòu)對象的最上層即Application對象開始遍歷。2 Excel對象的使用2.1 application對象的使用如前所述,Application對象位于Excel層次結(jié)構(gòu)對象的最上層,它代表的是Excel自身,我們的應(yīng)用程序理應(yīng)從Application對象的建立開始。VB控制Excel的啟動方式有幾種,在這里我們使用了API調(diào)用,可以確保目前系統(tǒng)中只有一個Excel副本在運(yùn)行,程序代碼和說明如下:Option ExplicitPublic xlapp As ObjectExcel對象Public xlbook As Object工作簿Public xlsheet As Object工作表Declare Function FindWindow Lib user32 Alias _FindWindowA (ByVal lpClassName As String, _ByVal lpWindowName As Long) As LongDeclare Function SendMessage Lib user32 Alias SendMessageA _(ByVal hwnd As long,ByVal wMsg As Long, ByVal wParam As Long, lParam_ As Any) As_ Long 以上是公有變量和API函數(shù)應(yīng)在模塊中聲明。 Sub GetExcel() Dim MyXL As Object 用于存放Microsoft Excel 引用的變量。 Dim ExcelWasNotRunning As Boolean 用于最后釋放的標(biāo)記。 On Error Resume Next 延遲錯誤捕獲。 不帶第一個參數(shù)調(diào)用 Getobject 函數(shù)將返回對該應(yīng)用程序的實例的引用。 如果該應(yīng)用程序不在運(yùn)行,則會產(chǎn)生錯誤。 Set MyXL = GetObject(, Excel.Application) If Err.Number 0 Then ExcelWasNotRunning = True Err.Clear 如果發(fā)生錯誤則要清除 Err 對象。 檢測 Microsoft Excel。如果 Microsoft Excel 在運(yùn)行,則將其加入運(yùn)行對象表。 DetectExcel 該過程檢測并登記正在運(yùn)行的 Excel 設(shè)置其 Application 屬性,顯示 Microsoft Excel。 然后使用 MyXL 對象引用的 Windows 集合,顯示包含該文件的實際窗口。 MyXL.Application.Visible = True MyXL.Parent.Windows(1).Visible = True 如果在啟動時,Microsoft Excel 的這份副本不在運(yùn)行中, 則使用 Application 屬性的 Quit 方法來關(guān)閉它。 注意,當(dāng)試圖退出 Microsoft Excel 時, 標(biāo)題欄會閃爍,并顯示一條消息詢問是否保存所加載的文件。 If ExcelWasNotRunning = True Then MyXL.Application.Quit End If Set MyXL = Nothing 釋放對該應(yīng)用程序和電子數(shù)據(jù)表的引用。End Sub 該過程檢測并登記正在運(yùn)行的 Excel。Sub DetectExcel()Const WM_USER = 1024 Dim hwnd As Long如果 Excel 在運(yùn)行,則該 API 調(diào)用將返回其句柄。 hwnd = FindWindow(XLMAIN, 0) If hwnd = 0 Then 0 表示沒有 Excel 在運(yùn)行。 Exit Sub Else Excel 在運(yùn)行,因此可以使用 SendMessage API函數(shù)將其放入運(yùn)行對象表。 SendMessage hwnd, WM_USER + 18, 0, 0 End IfEnd Sub 有了Application對象,就可以非常方便地訪問Excel應(yīng)用程序中的其它對象,以及這此對象的屬性和方法。 2.2 workbooks對象的使用 dim xlbook as object 定義一個指向工作簿變量set xlbook=xlapp.application.workbooks.add 使用ADD方法新建一個空白的工作簿。 2.3 worksheets對象的使用 dim xlsheet as object 定義一個指向工作表的變量set xlsheet=xlapp.application.workshets.add或者:set xlsheet=xlapp.application.worksheet(1) 指向當(dāng)前工作簿的第一頁2.4 Cells和Range對象的應(yīng)用 引用一個工作表(xlsheet)中的某個單位格用以下代碼: xlsheet.cells(I,j)=100 表示在第I行第J列中寫入100這個數(shù)。 引用工作表中的多個單位格用以下代碼: With xlsheet 設(shè)置邊框為是實際上線.Range(.Cells(7,1),.Cells(28,29).Borders.LineStyle = xlContinuousEnd With3 應(yīng)用實例該實例給出怎樣運(yùn)行Excel創(chuàng)建復(fù)雜表格以及向表格填充數(shù)據(jù)的完整過程。在開始應(yīng)用程序前,我們要做的準(zhǔn)備工作是建立一個我們所需格式的Excel模板。模板的作用相信大家都不會陌生。我所做的模板如下(模板文件取名為“土工試驗成果表”):模板可以存在指定的文件夾里,也可以在于Excel存放模板的文件夾里。打開VB編程環(huán)境,選擇新建一標(biāo)準(zhǔn)工程。要想在VB中很好地調(diào)用Excel,首先必須打開VB編程環(huán)境“工程”菜單中的“引用”項目,并選取項目中的“Microsoft Excel8.0 object library項。然后在窗體中加入一命令按鈕,其caption屬性為:Excel輸出。即command1.caption= Excel輸出。以下是代碼,其中模塊中的代碼和上面介紹的application使用代碼是一樣的,不再列出。 Private Sub Command1_Click() Dim i, j As Integer Call GetExcel Set xlapp = GetObject(土工試驗成果表.XLS) 打開模扳文件xlapp.Parent.Windows(1).Visible = True 使父窗體可見 Set xlsheet = xlapp.Application.Worksheets(1)當(dāng)前工作簿的第一頁 For i = 7 To 28這段代碼是將整數(shù)1到29寫入單位格中,實際應(yīng)用時可 For j = 1 To 29讀一數(shù)據(jù)文件并按要求寫入表格中 xlsheet.Cells(i, j) = j 當(dāng)前工作簿第一頁的第I行第J列 Next j Next i With xlsheet 設(shè)置邊框為是實線 .Range(.Cells(7, 1), .Cells(28, 29).Borders.LineStyle = xlContinuous End Withxlsheet.SaveAs d:tempw2.xls 按指定文件名存盤 引用當(dāng)前工作簿的第二頁 Set xlsheet = xlapp.Application.Worksheets(2) xlsheet.Cells(7, 2) = 789 在第二頁的第7行第2列寫入789 Set xlbook = xlapp.Application.Workbooks.Add 新建一空白工作簿End Sub參照上述代碼,就可以隨心所欲地發(fā)揮你的編程藝術(shù)了。其實你還可以讓Excel在后臺運(yùn)行,甚至于直接在打印機(jī)上輸出結(jié)果,認(rèn)人感覺不到Excel在運(yùn)行,是不是很方便?以上只是本人的一點心得,若有錯誤,不吝賜教。所以我寫這一篇貼子,供大家參考,希望能給大家一定的幫助。Set xlApp = CreateObject(Excel.Application) 創(chuàng)建EXCEL對象Set xlBook = xlApp.Workbooks.Open(App.Path &文件名.xls) 打開已經(jīng)存在的EXCEL工件簿文件xlApp.Visible = True 設(shè)置EXCEL對象可見(或不可見)Set xlSheet = xlBook.Worksheets(sheel1) 設(shè)置活動工作表,sheet1表示表名,可以使用字符型變量代替。xlSheet.Activate 激活工作表,讓它處于前臺活動中。xlBook.RunAutoMacros (xlAutoOpen) 運(yùn)行自動開啟宏Macro1(),在EXCEL中加入以下宏Sub auto_open() 這是VBA中的自動打開時運(yùn)行的宏 您要宏自動運(yùn)行的程序,比如可以call其它的宏,這樣VB在打開EXCEL時,使用上面的語句就可以先運(yùn)行這個宏End SubxlSheet.Cells.Item(行數(shù),列數(shù)) =值 給EXCEL對象中的表的單元格附值。xlSheet.Rows(7:7).Select選定EXCEL表的第7行xlApp.Selection.Delete shift:=xlUp 刪除選定的行xlSheet.Rows(7).Insert 在第7行處插入一行ActiveSheet.PageSetup.CenterHeader =頁眉內(nèi)容 給頁眉附值 xlSheet.Range(f7:h7).Select選定f7:h7之間的單元格,下面的程序是把它們合并。 Application.CutCopyMode = False With xlApp.Selection.HorizontalAlignment = xlGeneral.VerticalAlignment = xlCenter.WrapText = False.Orientation = 0.AddIndent = False.IndentLevel = 0.ShrinkToFit = False.ReadingOrder = xlContext.MergeCells = True End With在VB應(yīng)用程序中調(diào)用Excel2000 發(fā)表日期:2006-08-23作者:轉(zhuǎn)貼 出處: 一、 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,實質(zhì)是將Excel作為一個外部對象來引用,由Excel對象模型提供能從VB應(yīng)用程序內(nèi)部來程序化操縱的對象以及相關(guān)的屬性、方法和事件。 1、在VB工程中添加對Excel類型庫的引用 為了能從VB應(yīng)用程序中訪問Excel豐富的內(nèi)部資源,使Excel應(yīng)用程序運(yùn)行得更快,需要在VB工程中添加對Excel類型庫的引用。具體步驟如下: a)從VB5“工程”菜單中選擇“引用”; b) 在“引用”對話框中選擇Excel類型庫:Microsoft Excel9.0 Object Library; c)單擊左邊小方框,使之出現(xiàn)“”符號; d)按“確定”退出。 注:要想在VB應(yīng)用程序中調(diào)用Excel,你的計算機(jī)系統(tǒng)中必須安裝Excel。 2、引用Application對象 Application對象是Excel對象模型的頂層,表示整個Excel應(yīng)用程序。在VB應(yīng)用程序中調(diào)用Excel,就是使用Application對象的屬性、方法和事件。為此,首先要聲明對象變量: Dim VBExcel As Object 或直接聲明為Excel對象: Dim VBExcel As Excel.Application 在聲明對象變量之后,可用CreateObject函數(shù)或GetObject函數(shù)給變量賦值新的或已存在的Application對象引用。 a)用CreateObject函數(shù)生成新的對象引用: Set VBExcel=CreateObject (Excel.Application) 字符串“Excel.Application”是提供Excel應(yīng)用程序的編程ID,這個變量引用Excel應(yīng)用程序本身。 b)用GetO場ect函數(shù)打開已存在的對象引用: Set AppExcel=GetObject(SAMP.XLS) 上面語句打開文件SAMP.XLS。 3、Application對象常用的屬性、方法 屬性、方法 方法 Visible屬性 取True或False,表明Excel應(yīng)用程序是否可見。 Left,Top屬性 Excel窗口的位置; Height, Width屬性 Excel窗口的大??; WindowState屬性 指定窗口的狀態(tài),?。篨IMaximized(最大化)X1 Minimized(最小化)x1 Normal(缺省)。 Quit方法 退出Microsoft Excel; Calculate方法 重新計算所有打開的工作簿、工作表或單元格。 Evaluate方法 求值數(shù)學(xué)表達(dá)式并返回結(jié)果。 示例1:求值數(shù)學(xué)表達(dá)式: Dim VBExcel As Object Set VBExcel=CreateObject (Excel.Application) X=VBExcel. Evaluate (3+5*(cos (1/log (99. 9) 三、使用Excel應(yīng)用程序 如前所述,在VB應(yīng)用程序中調(diào)用Excel應(yīng)用程序,就是使用Application對象的屬性、方法和事件。下面分類給出其中常用的屬性和方法。 1、使用工作薄 Workbook對象代表Excel應(yīng)用程序中當(dāng)前打開的一個工作簿,包含在Workbooks集合中??梢酝ㄟ^Workbooks集合或表示當(dāng)前活動工作簿的Active Workbook對象訪問Workbook對象。 常用的方法有: 屬性、方法 意義 Add方法 創(chuàng)建新的空白工作簿,并將其添加到集合中。 Open方法 打開工作簿。 Activate方法 激活工作簿,使指定工作簿變?yōu)榛顒庸ぷ鞑?,以便作為Active Workbook對象使用。 Save方法 按當(dāng)前路徑和名稱保存現(xiàn)有工作簿(如是首次保存,則將其保存到缺省名稱中,如BOOK1.XLS)。 SaveAs方法 首次保存工作簿或用另一名稱保存工作簿。 Close方法 關(guān)閉工作簿。 PrintOut方法 打印工作簿,語法為: PrintOut (from, To, Copies, Preview, Printer, ToFile, Collate) 可選參數(shù): From:打印的起始頁號。如省略將從起始位置開始打印。 To:打印的終止頁號。如省略將打印至最后一頁。 Copies:要打印的份數(shù)。如省略將只打印一份。 Preview:如果為True則Excel打印指定對象之前進(jìn)行打印預(yù)覽。如果為False,或省略則立即打印該對象。 Printer:設(shè)置活動打印機(jī)的名稱。 ToFile:如果為True則打印輸出到文件。 Collate:如果為True則逐份打印每份副本。 下面語句將活動工作簿的2到5頁打印3份: ActiveWorkbook.PrintOut From:=2 To 5 Copies:=3 示例2:生成、保存、關(guān)閉工作簿 Dim VBExcel As Excel.Application Set VBExcel= CreateObject(Excel.Application) With VBExcel .Workbooks.Add With ActiveWorkbook .Save AsC: Temp OUTPUT.XLS .Close End With .Quit End With 2、使用工作表 Sheets集合表示工作簿中所有的工作表。可以通過Sheets集合來訪問、激活、增加、更名和刪除工作表。一個Worksheet對象代表一個工作表。 常用的屬性、方法有: 屬性、方法 意義 Worksheets屬性 返回Sheets集合。 Name屬性 工作表更名。 Add方法 創(chuàng)建新工作表并將其添加到工作簿中。 Select方法 選擇工作表。 Copy方法 復(fù)制工作表。 Move方法 將指定工作表移到工作簿的另一位置。 Delete方法 刪除指定工作表。 PrintOut方法 打印工作表。 示例3:將C盤工作簿中的工作表復(fù)制到A盤工作簿中: Dim VBExcel As Excel.Application Set VBExcel=CreateObject(Excel.Application) With VBExcel .Workbooks.Open C:TempOUTPUT.XLS .Workbooks.OpenA:OUTPUT1.XLS .Workbooks(OUTPUT.XLS).Sheets (Sales).Copy .Workbooks(OUTPUT1.XLS) .Workbooks(OUTPUT1.XLS).Save .Workbooks(OUTPUT.XLS).Close .Workbooks(OUTPUTI.XLS).Close .Quit End With 3、使用單元范圍 Range對象代表工作表的某一單元格、某一行、某一列、某一選定區(qū)域或者某一三維區(qū)域。 常用的屬性、方法有: 屬性、方法 意義 Range屬性 Range (arg)其中arg為A1-樣式符號,表示單個單元格或單元格區(qū)域。 Cells屬性 Cells (row, col )(其中row為行號,col為列號)表示單個單元格。 ColumnWidth屬性 指定區(qū)域中所有列的列寬。 Rowl3eight屬性 指定區(qū)域中所有行的行寬。 Value屬性 指定區(qū)域中所有單元格的值(缺省屬性)。 Formula屬性 指定單元格的公式,由A1-樣式引用。 Select方法 選擇范圍。 Copy方法 將范圍的內(nèi)容復(fù)制到剪貼板。 C1earContents方法 清除范圍的內(nèi)容。 Delete方法 刪除指定單元范圍。4、使用圖表 Chart對象代表工作簿中的圖表。該圖表既可為嵌人式圖表(包含于ChartObject對象中)也可為分立的圖表工作表。 常用方法有: 方法 意義 Add方法 新建圖表工作表。返回Chart對象。 PrineOut方法 打印圖表。 ChartWizard方法 修改給定圖表的屬性,其語法為: ChartWizard(Source, Gallery, Format, P1otBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle) 其中: Source:包含新圖表的源數(shù)據(jù)的區(qū)域。如省略,將修改活動圖表工作表或活動工作表中處于選定狀態(tài)的嵌人式圖表。 Gallery:圖表類型。其值可為下列常量之一:xlArea, x1Bar, xlColumn, xlLine, x1Pie, xlRadar,x1XYScatter, xlCombination, x13DArea, x13DBar、x13DColumn, x13DLine, x13DPie、x13 DSurface、xlDoughnut或xlDefaultAutoFormat。 Format:內(nèi)置自動套用格式的編號。如省略,將選擇默認(rèn)值。 P1otBy:指定系列中的數(shù)據(jù)是來自行(xlRows)還是列(xlColumns)。 CategoryLabels:表示包含分類標(biāo)志的源區(qū)域內(nèi)行數(shù)或列數(shù)的整數(shù)。 SeriesLabels:表示包含系列標(biāo)志的源區(qū)域內(nèi)行數(shù)或列數(shù)的整數(shù)。 HasLegend:若指定True,則圖表將具有圖例。 Title:圖表標(biāo)題文字。 CategoryTitle:分類軸標(biāo)題文字。 ValueTitle:數(shù)值軸標(biāo)題文字。 ExtraTitle:三維圖表的系列軸標(biāo)題,或二維圖表的第二數(shù)值軸標(biāo)題。 可組合使用Add方法和ChartWizard方法,以創(chuàng)建包含工作表中數(shù)據(jù)的圖表工作表。下例基于工作表“Sheetl”中單元格區(qū)域“A1:A20”中的數(shù)據(jù)生成新的折線圖并打印。 With Charts.Add .ChartWizard source:=Worksheets (sheet1).Range (a1:a20),gallery:=xlLine, title:=“折線圖表” .Printout End With 5、使用Excel工作表函數(shù) 在VB語句中可使用大部分的Excel工作表函數(shù),可通過WorksheetFunction對象調(diào)用Excel工作表函數(shù)。下面的Sub過程用Min工作表函數(shù)求出指定區(qū)域中單元格的最小值,并通過消息框顯示結(jié)果值。 Sub UseFunction() Dim myRange As Range Set myRange=Worksheets (Sheet1).Range(B2:F10) answer=Application.WorksheetFunction.Min(myRange) MsgBox answer End Sub 如果使用以區(qū)域引用為參數(shù)的工作表函數(shù),必須指定一個Range對象。如可用Match工作表函數(shù)對A1:A10區(qū)域的所有單元格進(jìn)行搜索。 Sub FindFirst() my Var=Application.WorksheetFunction.Match (9, Worksheets( 1).Range(A1:A10),0) MsgBox myVar End Sub 要在單元格中插人工作表函數(shù),可將該函數(shù)指定為對應(yīng)于Range對象的Formula屬性值。在以下示例中,將當(dāng)前工作簿Sheetl內(nèi)A1:B3區(qū)域的Formula屬性指定為RAND工作表函數(shù)(此函數(shù)產(chǎn)生二個隨機(jī)數(shù))。 Sub InsertFormula() Worksheets (Sheet1 ).Range(A1:B3).Formula=RAND() End Sub 以上簡要介紹了Excel對象模型中部分對象及其屬性和方法,更詳細(xì)的信息可參閱Excel 2000幫助中的“Microsoft Excel Visual Basic參考”一節(jié)的內(nèi)容。實際上,Microsoft Office家族的Word,PowerPoint, Access和Project等應(yīng)用程序都可以在VB應(yīng)用程序中調(diào)用,其原理和步驟完全相同,只是其對象模型有所不同而已。二、調(diào)用Excel 在VB應(yīng)用程序中調(diào)用Excel,實質(zhì)是將Excel作為一個外部對象來引用,由Excel對象模型提供能從VB應(yīng)用程序內(nèi)部來程序化操縱的對象以及相關(guān)的屬性、方法和事件。 1、在VB工程中添加對Excel類型庫的引用 為了能從VB應(yīng)用程序中訪問Excel豐富的內(nèi)部資源,使Excel應(yīng)用程序運(yùn)行得更快,需要在VB工程中添加對Excel類型庫的引用。具體步驟如下: a)從VB5“工程”菜單中選擇“引用”; b) 在“引用”對話框中選擇Excel類型庫:Microsoft Excel9.0 Object Library; c)單擊左邊小方框,使之出現(xiàn)“”符號; d)按“確定”退出。 注:要想在VB應(yīng)用程序中調(diào)用Excel,你的計算機(jī)系統(tǒng)中必須安裝Excel。 2、引用Application對象 Application對象是Excel對象模型的頂層,表示整個Excel應(yīng)用程序。在VB應(yīng)用程序中調(diào)用Excel,就是使用Application對象的屬性、方法和事件。為此,首先要聲明對象變量: Dim VBExcel As Object 或直接聲明為Excel對象: Dim VBExcel As Excel.Application 在聲明對象變量之后,可用CreateObject函數(shù)或GetObject函數(shù)給變量賦值新的或已存在的Application對象引用。 a)用CreateObject函數(shù)生成新的對象引用: Set VBExcel=CreateObject (Excel.Application) 字符串“Excel.Application”是提供Excel應(yīng)用程序的編程ID,這個變量引用Excel應(yīng)用程序本身。 b)用GetO場ect函數(shù)打開已存在的對象引用: Set AppExcel=GetObject(SAMP.XLS) 上面語句打開文件SAMP.XLS。 3、Application對象常用的屬性、方法 屬性、方法 方法 Visible屬性 取True或False,表明Excel應(yīng)用程序是否可見。 Left,Top屬性 Excel窗口的位置; Height, Width屬性 Excel窗口的大??; WindowState屬性 指定窗口的狀態(tài),?。篨IMaximized(最大化)X1 Minimized(最小化)x1 Normal(缺省)。 Quit方法 退出Microsoft Excel; Calculate方法 重新計算所有打開的工作簿、工作表或單元格。 Evaluate方法 求值數(shù)學(xué)表達(dá)式并返回結(jié)果。 示例1:求值數(shù)學(xué)表達(dá)式: Dim VBExcel As Object Set VBExcel=CreateObject (Excel.Application) X=VBExcel. Evaluate (3+5*(cos (1/log (99. 9) 三、使用Excel應(yīng)用程序 如前所述,在VB應(yīng)用程序中調(diào)用Excel應(yīng)用程序,就是使用Application對象的屬性、方法和事件。下面分類給出其中常用的屬性和方法。 1、使用工作薄 Workbook對象代表Excel應(yīng)用程序中當(dāng)前打開的一個工作簿,包含在Workbooks集合中??梢酝ㄟ^Workbooks集合或表示當(dāng)前活動工作簿的Active Workbook對象訪問Workbook對象。 常用的方法有: 屬性、方法 意義 Add方法 創(chuàng)建新的空白工作簿,并將其添加到集合中。 Open方法 打開工作簿。 Activate方法 激活工作簿,使指定工作簿變?yōu)榛顒庸ぷ鞑?,以便作為Active Workbook對象使用。 Save方法 按當(dāng)前路徑和名稱保存現(xiàn)有工作簿(如是首次保存,則將其保存到缺省名稱中,如BOOK1.XLS)。 SaveAs方法 首次保存工作簿或用另一名稱保存工作簿。 Close方法 關(guān)閉工作簿。 PrintOut方法 打印工作簿,語法為: PrintOut (from, To, Copies, Preview, Printer, ToFile, Collate) 可選參數(shù): From:打印的起始頁號。如省略將從起始位置開始打印。 To:打印的終止頁號。如省略將打印至最后一頁。 Copies:要打印的份數(shù)。如省略將只打印一份。 Preview:如果為True則Excel打印指定對象之前進(jìn)行打印預(yù)覽。如果為False,或省略則立即打印該對象。 Printer:設(shè)置活動打印機(jī)的名稱。 ToFile:如果為True則打印輸出到文件。 Collate:如果為True則逐份打印每份副本。 下面語句將活動工作簿的2到5頁打印3份: ActiveWorkbook.PrintOut From:=2 To 5 Copies:=3 示例2:生成、保存、關(guān)閉工作簿 Dim VBExcel As Excel.Application Set VBExcel= CreateObject(Excel.Application) With VBExcel .Workbooks.Add With ActiveWorkbook .Save AsC: Temp OUTPUT.XLS .Close End With .Quit End With 2、使用工作表 Sheets集合表示工作簿中所有的工作表。可以通過Sheets集合來訪問、激活、增加、更名和刪除工作表。一個Worksheet對象代表一個工作表。 常用的屬性、方法有: 屬性、方法 意義 Worksheets屬性 返回Sheets集合。 Name屬性 工作表更名。 Add方法 創(chuàng)建新工作表并將其添加到工作簿中。 Select方法 選擇工作表。 Copy方法 復(fù)制工作表。 Move方法 將指定工作表移到工作簿的另一位置。 Delete方法 刪除指定工作表。 PrintOut方法 打印工作表。 示例3:將C盤工作簿中的工作表復(fù)制到A盤工作簿中: Dim VBExcel As Excel.Application Set VBExcel=CreateObject(Excel.Application) With VBExcel .Workbooks.Open C:TempOUTPUT.XLS .Workbooks.OpenA:OUTPUT1.XLS .Workbooks(OUTPUT.XLS).Sheets (Sales).Copy .Workbooks(OUTPUT1.XLS) .Workbooks(OUTPUT1.XLS).Save .Workbooks(OUTPUT.XLS).Close .Workbooks(OUTPUTI.XLS).Close .Quit End With 3、使用單元范圍 Range對象代表工作表的某一單元格、某一行、某一列、某一選定區(qū)域或者某一三維區(qū)域。 常用的屬性、方法有: 屬性、方法 意義 Range屬性 Range (arg)其中arg為A1-樣式符號,表示單個單元格或單元格區(qū)域。 Cells屬性 Cells (row, col )(其中row為行號,col為列號)表示單個單元格。 ColumnWidth屬性 指定區(qū)域中所有列的列寬。 Rowl3eight屬性 指定區(qū)域中所有行的行寬。 Value屬性 指定區(qū)域中所有單元格的值(缺省屬性)。 Formula屬性 指定單元格的公式,由A1-樣式引用。 Select方法 選擇范圍。 Copy方法 將范圍的內(nèi)容復(fù)制到剪貼板。 C1earContents方法 清除范圍的內(nèi)容。 Delete方法 刪除指定單元范圍。 4、使用圖表 Chart對象代表工作簿中的圖表。該圖表既可為嵌人式圖表(包含于ChartObject對象中)也可為分立的圖表工作表。 常用方法有: 方法 意義 Add方法 新建圖表工作表。返回Chart對象。 PrineOut方法 打印圖表。 ChartWizard方法 修改給定圖表的屬性,其語法為: ChartWizard(Source, Gallery, Format, P1otBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle) 其中: Source:包含新圖表的源數(shù)據(jù)的區(qū)域。如省略,將修改活動圖表工作表或活

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論