1、用 VB 操作 Excel 的办法日期:2008-11-23 来源: 作者:字体:大 中 小 Private Sub Command3_Click()On Error GoTo err1Dim i As LongDim j As LongDim objExl As Excel.Application 声明对象变量Me.MousePointer = 11 改变鼠标样式Set objExl = New Excel.Application 初始化对象变量objExl.SheetsInNewWorkbook = 1 将新建的工作薄数量设为 1objExl.Workbooks.Add 增加一个工作薄ob
2、jExl.Sheets(objExl.Sheets.Count).Name = “book1“ 修改工作薄名称objExl.Sheets.Add , objExl.Sheets(“book1“) 增加第二个工作薄在第一个之后objExl.Sheets(objExl.Sheets.Count).Name = “book2“objExl.Sheets.Add , objExl.Sheets(“book2“) 增加第三个工作薄在第二个之后objExl.Sheets(objExl.Sheets.Count).Name = “book3“objExl.Sheets(“book1“).Select 选中工
3、作薄For i = 1 To 50 循环写入数据For j = 1 To 5If i = 1 ThenobjExl.Selection.NumberFormatLocal = “ 设置格式为文本objExl.Cells(i, j) = “ E “ 2) 更改 Excel 标题栏:ExcelID.Caption := 应用程序调用 Microsoft Excel;3) 添加新工作簿:ExcelID.WorkBooks.Add;4) 打开已存在的工作簿:ExcelID.WorkBooks.Open( C:ExcelDemo.xls );5) 设置第 2 个工作表为活动工作表:ExcelID.Wor
4、kSheets2.Activate; 或 ExcelID.WorkSheets Sheet2 .Activate;6) 给单元格赋值:ExcelID.Cells1,4.Value := 第一行第四列;7) 设置指定列的宽度(单位:字符个数),以第一列为例:ExcelID.ActiveSheet.Columns1.ColumnsWidth := 5;8) 设置指定行的高度(单位:磅)(1 磅0.035 厘米),以第二行为例:ExcelID.ActiveSheet.Rows2.RowHeight := 1/0.035; / 1 厘米9) 在第 8 行之前插入分页符:ExcelID.WorkShee
5、ts1.Rows8.PageBreak := 1;10) 在第 8 列之前删除分页符:ExcelID.ActiveSheet.Columns4.PageBreak := 0;11) 指定边框线宽度:ExcelID.ActiveSheet.Range B3:D4 .Borders2.Weight := 3;1-左 2-右 3-顶 4-底 5-斜( ) 6-斜( / )12) 清除第一行第四列单元格公式:ExcelID.ActiveSheet.Cells1,4.ClearContents;13) 设置第一行字体属性:ExcelID.ActiveSheet.Rows1.Font.Name := 隶书
6、;ExcelID.ActiveSheet.Rows1.Font.Color := clBlue;ExcelID.ActiveSheet.Rows1.Font.Bold := True;ExcelID.ActiveSheet.Rows1.Font.UnderLine := True;14) 进行页面设置:a.页眉:ExcelID.ActiveSheet.PageSetup.CenterHeader := 报表演示;b.页脚:ExcelID.ActiveSheet.PageSetup.CenterFooter := 第c.页眉到顶端边距 2cm:ExcelID.ActiveSheet.PageSe
7、tup.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
8、.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;
9、b.拷贝指定区域:ExcelID.ActiveSheet.Range A1:E2 .Copy;c.从 A1 位置开始粘贴:ExcelID.ActiveSheet.Range. A1 .PasteSpecial;d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;16) 插入一行或一列:a. ExcelID.ActiveSheet.Rows2.Insert;b. ExcelID.ActiveSheet.Columns1.Insert;17) 删除一行或一列:a. ExcelID.ActiveSheet.Rows2.Delete;b. ExcelI
10、D.ActiveSheet.Columns1.Delete;18) 打印预览工作表:ExcelID.ActiveSheet.PrintPreview;19) 打印输出工作表:ExcelID.ActiveSheet.PrintOut;20) 工作表保存:If not ExcelID.ActiveWorkBook.Saved thenExcelID.ActiveSheet.PrintPreviewEnd if21) 工作表另存为:ExcelID.SaveAs( C:ExcelDemo1.xls );22) 放弃存盘:ExcelID.ActiveWorkBook.Saved := True;23)
11、关闭工作簿:ExcelID.WorkBooks.Close;24) 退出 Excel:ExcelID.Quit;25) 设置工作表密码:ExcelID.ActiveSheet.Protect “123“, DrawingObjects:=True, Contents:=True, Scenarios:=True26) EXCEL 的显示方式为最大化ExcelID.Application.WindowState = xlMaximized 27) 工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState = xlMaximized 28) 设置打开默认工作薄数量Ex
12、celID.SheetsInNewWorkbook = 329) 关闭时是否提示保存(true 保存;false 不保存)ExcelID.DisplayAlerts = False 30) 设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow = 1ExcelID.ActiveWindow.FreezePanes = True31) 设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows = “$1:$1“ 32) 设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitle
13、Columns = “ 33) 设置显示方式(分页方式显示)ExcelID.ActiveWindow.View = xlPageBreakPreview 34) 设置显示比例ExcelID.ActiveWindow.Zoom = 100 35) 让 Excel 响应 DDE 请求Ex.Application.IgnoreRemoteRequests = FalseVb 操作 excel 的命令1创建 Excel 对象 eole=CREATEOBJECT(Excel.application) 2添加新工作簿 eole.Workbooks.add 3设置第 3 个工作表为激活工作表 eole.Wo
14、rksheets(sheet3).Activate 4打开指定工作簿 eole.Workbooks.Open(c:templl.xls) 5显示 Excel 窗口 eole.visible=.t. 6更改 Excel 标题栏 eole.Caption=VFP应用程序调用 Microsoft Excel 7给单元格赋值 eole.cells(1,4).value=XM(XM 为数据库字段名) 8设置指定列的宽度(单位:字符个数) eole.ActiveSheet.Columns(1).ColumnWidth=5 9设置指定行的高度(单位:磅) eole.ActiveSheet.Rows(1).R
15、owHeight=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=
16、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.FooterMar
17、gin=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.CenterH
18、orizontally=.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.Wor
19、kSheet(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设置整列字体为粗体 e
20、ole.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:temp22.xls) 39放弃存盘 eole.ActiveWorkbook.saved=.t. 40关闭工作簿 eole.Workbooks.close 41退出 Excel eole.quit