VB操作Excel
在工程中添加引用:Microsoft Office 9.0 Object Library
Microsoft Excel 9.0 Object Library (Excel 2000)
新建一个Excel
Dim xlApp As Excel.Application
Dim book As Excel.Workbook
Dim sheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlsheet = xlBook.Worksheets.Add
xlsheet.Cells(1, 1) = "测试" '写入内容
xlApp.Visible = True
xlBook.SaveAs ("F:\abc.xls") '保存内容
xlApp.Quit
Set xlApp = Nothing
打开已有Excle
打开已有Excle
Dim xlApp As Excel.Application
Dim book As Excel.Workbook
Dim sheet As Excel.Worksheet
Set xlApp = CreateObject("excel.Application")
Set book = xlApp.Workbooks.Open("F:\abc.xls")
xlApp.Visible = True
Set xlsheet = book.Worksheets("Sheet4")
book.Close (True)
xlApp.Quit
Set xlApp = Nothing - Dim i1 As Integer, intCol As Integer, intRow As Integer
- Dim xlApp As New Excel.Application
- Dim xlBook As New Excel.Workbook
- Dim xlSheet As New Excel.Worksheet
- Dim strName As String, strArray1() As String
- Dim strS1 As String
- Dim strD1 As String
- strS1 = CurrentProject.Path + "\template.xls"
- strD1 = CurrentProject.Path + "\" + CStr(Format(Now, "YYYYMMDDHHMMSS")) + "aaa1.xls"
- Set xlApp = CreateObject("Excel.Application")
- xlApp.Visible = False
- With xlSheet
- .Range("F6").Value = strTmp1(1)
- .Range("H6").Value = strTmp1(2)
- .Range("F7").Value = CStr(Date)
- .Range("E10").Value = strTmp1(9)
- .Range("A15").Value = "To: " + strTmp1(8)
- .Range("B26").Value = strTmp1(4) + "PACKAGES"
- .Range("B27").Value = strTmp1(5) + "KGS"
- .Range("B28").Value = strTmp1(6) + "KGS"
- .Range("B29").Value = strTmp1(7) + "M3"
- End With
- 首先创建Excel对象,使用ComObj:
- Dim ExcelID as Excel.Application
- Set ExcelID as new Excel.Application
- 1)显示当前窗口:
- ExcelID.Visible:=True;
- 2)更改Excel标题栏:
- ExcelID.Caption:='应用程序调用MicrosoftExcel';
- 3)添加新工作簿:
- ExcelID.WorkBooks.Add;
- 4)打开已存在的工作簿:
- ExcelID.WorkBooks.Open('C:\Excel\Demo.xls');
- 5)设置第2个工作表为活动工作表:
- ExcelID.WorkSheets[2].Activate;
- 或ExcelID.WorkSheets['Sheet2'].Activate;
- 6)给单元格赋值:
- ExcelID.Cells[1,4].Value:='第一行第四列';
- 7)设置指定列的宽度(单位:字符个数),以第一列为例:
- ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;
- 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
- ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米
- 9)在第8行之前插入分页符:
- ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;
- 10)在第8列之前删除分页符:
- ExcelID.ActiveSheet.Columns[4].PageBreak:=0;
- 11)指定边框线宽度:
- ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;
- 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/)
- 12)清除第一行第四列单元格公式:
- ExcelID.ActiveSheet.Cells[1,4].ClearContents;
- 13)设置第一行字体属性:
- ExcelID.ActiveSheet.Rows[1].Font.Name:='隶书';
- ExcelID.ActiveSheet.Rows[1].Font.Color :=clBlue;
- ExcelID.ActiveSheet.Rows[1].Font.Bold :=True;
- ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;
- 14)进行页面设置:
- a.页眉:
- ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示';
- b.页脚:
- ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';
- c.页眉到顶端边距2cm:
- ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;
- d.页脚到底端边距3cm:
- ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;
- e.顶边距2cm:
- ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;
- f.底边距2cm:
- ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;
- g.左边距2cm:
- ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;
- h.右边距2cm:
- ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;
- i.页面水平居中:
- ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;
- j.页面垂直居中:
- ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;
- k.打印单元格网线:
- ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;
- 15)拷贝操作:
- a.拷贝整个工作表:
- ExcelID.ActiveSheet.Used.Range.Copy;
- b.拷贝指定区域:
- ExcelID.ActiveSheet.Range['A1:E2'].Copy;
- c.从A1位置开始粘贴:
- ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;
- d.从文件尾部开始粘贴:
- ExcelID.ActiveSheet.Range.PasteSpecial;
- 16)插入一行或一列:
- a.ExcelID.ActiveSheet.Rows[2].Insert;
- b.ExcelID.ActiveSheet.Columns[1].Insert;
- 17)删除一行或一列:
- a.ExcelID.ActiveSheet.Rows[2].Delete;
- b.ExcelID.ActiveSheet.Columns[1].Delete;
- 18)打印预览工作表:
- ExcelID.ActiveSheet.PrintPreview;
- 19)打印输出工作表:
- ExcelID.ActiveSheet.PrintOut;
- 20)工作表保存:
- IfnotExcelID.ActiveWorkBook.Savedthen
- ExcelID.ActiveSheet.PrintPreview
- Endif
- 21)工作表另存为:
- ExcelID.SaveAs('C:\Excel\Demo1.xls');
- 22)放弃存盘:
- ExcelID.ActiveWorkBook.Saved:=True;
- 23)关闭工作簿:
- ExcelID.WorkBooks.Close;
- 24)退出Excel:
- ExcelID.Quit;
- 25)设置工作表密码:
- ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True
- 26)EXCEL的显示方式为最大化
- ExcelID.Application.WindowState=xlMaximized
- 27)工作薄显示方式为最大化
- ExcelID.ActiveWindow.WindowState=xlMaximized
- 28)设置打开默认工作薄数量
- ExcelID.SheetsInNewWorkbook=3
- 29)'关闭时是否提示保存(true保存;false不保存)
- ExcelID.DisplayAlerts=False
- 30)设置拆分窗口,及固定行位置
- ExcelID.ActiveWindow.SplitRow=1
- ExcelID.ActiveWindow.FreezePanes=True
- 31)设置打印时固定打印内容
- ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"
- 32)设置打印标题
- ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""
- 33)设置显示方式(分页方式显示)
- ExcelID.ActiveWindow.View=xlPageBreakPreview
- 34)设置显示比例
- ExcelID.ActiveWindow.Zoom=100
- 35)让Excel响应DDE请求
- Ex.Application.IgnoreRemoteRequests=False
- objExl.Rows("1:1").Select '选中第一行
- objExl.Selection.Font.Bold = True '设为粗体
- objExl.Selection.Font.Size = 24 '设置字体大小
- objExl.Cells.EntireColumn.AutoFit '自动调整列宽
- objExl.ActiveWindow.SplitRow = 1 '拆分第一行
- objExl.ActiveWindow.SplitColumn = 0 '拆分列
- objExl.ActiveWindow.FreezePanes = True '固定拆分
- objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" '设置打印固定行
- objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" '打印标题
- objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _
- Format(Now, "yyyy年mm月dd日 hh:MM:ss")
- objExl.ActiveWindow.View = xlPageBreakPreview '设置显示方式
- objExl.ActiveWindow.Zoom = 100 '设置显示大小
- '给工作表加密码
- objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _
- Contents:=True, Scenarios:=True
- objExl.Application.IgnoreRemoteRequests = False
- objExl.Visible = True '使EXCEL可见
- objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化
- objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化
- objExl.SheetsInNewWorkbook = 3 '将默认新工作薄数量改回3个
- Set objExl = Nothing '清除对象
- Me.MousePointer = 0 '修改鼠标
- objExl.SheetsInNewWorkbook = 3
- objExl.DisplayAlerts = False '关闭时不提示保存
- objExl.Quit '关闭EXCEL
- objExl.DisplayAlerts = True '关闭时提示保存
- Set objExl = Nothing