1. 程式人生 > >vb呼叫excel方法大全

vb呼叫excel方法大全

在VB中要想呼叫Excel,需要開啟VB程式設計環境“工程”選單中的“引用”專案,並選取專案中的“Microsoft Excel 11.0 object library”項。由於你的Excel版本不同,所以這個選項的版本號也是不同的。

    因為EXCEL是以層次結構組織物件的,其物件模型中含有許多不同的物件元素。
    第一層:Application物件,即Excel本身;
    第二層:workbooks物件集,指Excel的工作簿檔案;
    第三層:worksheets物件集,表示的是Excel的一個工作表;
    第四層:Cells和Range物件,指向Excel工作表中的單元格。

    新建立一個VB的工程,先放一個button,名稱為Excel_Out。先定義好各層:

Dim xlapp As Excel.Application 'Excel物件
Dim xlbook As Excel.Workbook '工作簿
Dim xlsheet As Excel.Worksheet '工作表

    我們打算做的是:開啟/新建一個excel,在其中對某工作表的一些單元格修改其值,然後另存為test.xls檔案。

Private Sub Excel_Out_Click()
Dim i, j As Integer
Set xlapp = CreateObject("Excel.Application") '建立EXCEL物件
  'Set xlbook = xlapp.Workbooks.Open(App.Path & "/test.xls") '開啟已經存在的test.xls工件簿檔案
Set xlbook = xlapp.Workbooks.Add '新建EXCEL工件簿檔案
'xlbook.RunAutoMacros (xlAutoOpen) '執行EXCEL啟動巨集
'xlbook.RunAutoMacros (xlAutoClose) '執行EXCEL關閉巨集
xlapp.Visible = True '設定EXCEL物件可見(或不可見)
Set xlsheet = xlbook.Worksheets(1) '設定活動工作表''
                              ''~~~當前工作簿的第一頁,這裡也可以換成“表名”

'下面就是簡單的在一些單元格內寫入數字
For i = 7 To 15
   For j = 1 To 10

     xlsheet.Cells(i, j) = j   '當前工作簿第一頁的第I行第J列
   Next j
Next i

With xlsheet      '設定邊框為是實線
    .Range(.Cells(7, 1), .Cells(28, 29)).Borders.LineStyle = xlContinuous
End With

'引用當前工作簿的第二頁
Set xlsheet = xlapp.Application.Worksheets(2)
     xlsheet.Cells(7, 2) = 2008   '在第二頁的第7行第2列寫入2008
xlsheet.SaveAs App.Path & "/test.xls"           '按指定檔名存檔
'Set xlbook = xlapp.Application.Workbooks.Add '新建一空白工作簿


xlapp.Quit '結束EXCEL物件'xlapp.Workbooks.Close


Set xlapp = Nothing '釋放xlApp物件

End Sub

    這樣,我們就可以簡單的對excel檔案進行操作了。下面再放一些我從網上查到的資料吧,還挺有用的:

      1.建立Excel物件 
    eole=CREATEOBJECT(′Excel.application′) 
    2.新增新工作簿 
    eole.Workbooks.add 
    3.設定第3個工作表為啟用工作表 
    eole.Worksheets(〃sheet3〃).Activate 
    4.開啟指定工作簿 
    eole.Workbooks.Open(〃c:/temp/ll.xls〃) 
    5.顯示Excel視窗 
    eole.visible= true 
    6.更改Excel標題欄 
    eole.Caption=〃VB應用程式呼叫Microsoft   Excel〃 
    7.給單元格賦值 
    eole.cells(1,4).value=XM(XM為資料庫欄位名) 
    8.設定指定列的寬度(單位:字元個數) 
    eole.ActiveSheet.Columns(1).ColumnWidth=5 
    9.設定指定行的高度(單位:磅) 
    eole.ActiveSheet.Rows(1).RowHeight=1/0.035 
    (設定行高為1釐米,1磅=0.035釐米) 
    10.在第18行之前插入分頁符 
    eole.Worksheets(〃Sheet1〃).Rows(18).PageBreak=1 
    11.在第4列之前刪除分頁符 
    eole.ActiveSheet.Columns(4).PageBreak=0 
    12.指定邊框線寬度(Borders引數如下) 
    ole.ActiveSheet.Range(〃b3:d3〃).Borders(2).Weight=3 
    13.設定四個邊框線條的型別 
    eole.ActiveSheet.Range(〃b3:d3〃).Borders(2).LineStyle=1 
    (其中Borders引數:1-左、2-右、3-頂、4-底、5-斜、6-斜/;LineStyle值:1與7-細實、2-細虛、4-點虛、9-雙細實線) 
    14.設定頁首 
    eole.ActiveSheet.PageSetup.CenterHeader=〃報表1〃 
    15.設定頁尾 
    eole.ActiveSheet.PageSetup.CenterFooter=〃第&P頁〃 
    16.設定頁首到頂端邊距為2釐米 
    eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035 
    17.設定頁尾到底邊距為3釐米 
    eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 
    18.設定頂邊距為2釐米 
    eole.ActiveSheet.PageSetup.TopMargin=2/0.035 
    19.設定底邊距為4釐米 
    eole.ActiveSheet.PageSetup.BottomMargin=4/0.035 
    20.設定左邊距為2釐米 
    veole.ActiveSheet.PageSetup.LeftMargin=2/0.035 
    21.設定右邊距為2釐米 
    eole.ActiveSheet.PageSetup.RightMargin=2/0.035 
    22.設定頁面水平居中 
    eole.ActiveSheet.PageSetup.CenterHorizontally=.t. 
    23.設定頁面垂直居中 
    eole.ActiveSheet.PageSetup.CenterVertically=.t. 
    24.設定頁面紙張大小(1-窄行8511   39-寬行1411) 
    eole.ActiveSheet.PageSetup.PaperSize=1 
    25.列印單元格網線 
    eole.ActiveSheet.PageSetup.PrintGridlines=.t. 
    26.拷貝整個工作表 
    eole.ActiveSheet.UsedRange.Copy 
    27.拷貝指定區域 
    eole.ActiveSheet.Range(〃A1:E2〃).Copy 
    28.貼上 
    eole.WorkSheet(〃Sheet2〃).Range(〃A1〃).PasteSpecial 
    29.在第2行之前插入一行 
    eole.ActiveSheet.Rows(2).Insert 
    30.在第2列之前插入一列 
    eole.ActiveSheet.Columns(2).Insert 
    31.設定字型 
    eole.ActiveSheet.Cells(2,1).Font.Name=〃黑體〃 
    32.設定字型大小 
    eole.ActiveSheet.Cells(1,1).Font.Size=25 
    33.設定字型為斜體 
    eole.ActiveSheet.Cells(1,1).Font.Italic=.t. 
    34.設定整列字型為粗體 
    eole.ActiveSheet.Columns(1).Font.Bold=.t. 
    35.清除單元格公式 
    eole.ActiveSheet.Cells(1,4).ClearContents 
    36.列印預覽工作表 
    eole.ActiveSheet.PrintPreview 
    37.列印輸出工作表 
    eole.ActiveSheet.PrintOut 
    38.工作表另存為 
    eole.ActiveWorkbook.SaveAs(〃c:/temp/22.xls〃) 
    39.放棄存檔 
    eole.ActiveWorkbook.saved=.t. 
    40.關閉工作簿 
    eole.Workbooks.close