vb呼叫excel方法大全
阿新 • • 發佈:2019-01-27
在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-窄行8511 39-寬行1411)
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
因為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-窄行8511 39-寬行1411)
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