




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.实用的EXCEL VBA编程小结: 最近单位内部的项目里要用到些报表EXCEL的生成,虽说JAVA 的POI可以有这能力,但觉得还是可能比较麻烦,因此还是转用.net来搞,用Visual Studio2003配合office 2003,用到了一些VBA,因此小结并归纳之,选了些资料归纳在这里,以备今后查考首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1) 显示当前窗口:ExcelID.Visible := True;2) 更改 Excel 标题栏:ExcelID.Caption := 应用程序调用 Microsoft Excel;3) 添加新工作簿:ExcelID.WorkBooks.Add;4) 打开已存在的工作簿:ExcelID.WorkBooks.Open( C:ExcelDemo.xls );5) 设置第2个工作表为活动工作表:ExcelID.WorkSheets2.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.WorkSheets1.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 := 隶书;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 := 第&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.Rows2.Insert;b. ExcelID.ActiveSheet.Columns1.Insert;17) 删除一行或一列:a. ExcelID.ActiveSheet.Rows2.Delete;b. ExcelID.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) 关闭工作簿: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) 设置打开默认工作薄数量ExcelID.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.PrintTitleColumns = 33) 设置显示方式(分页方式显示)ExcelID.ActiveWindow.View = xlPageBreakPreview 34) 设置显示比例ExcelID.ActiveWindow.Zoom = 100 35) 让Excel 响应 DDE 请求Ex.Application.IgnoreRemoteRequests = False用VB操作EXCELPrivate 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 增加一个工作薄objExl.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 选中工作薄For i = 1 To 50 循环写入数据For j = 1 To 5If i = 1 ThenobjExl.Selection.NumberFormatLocal = 设置格式为文本 objExl.Cells(i, j) = E & i & jElseobjExl.Cells(i, j) = i & jEnd IfNextNextobjExl.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:=TrueobjExl.Application.IgnoreRemoteRequests = FalseobjExl.Visible = True 使EXCEL可见objExl.Application.WindowState = xlMaximized EXCEL的显示方式为最大化objExl.ActiveWindow.WindowState = xlMaximized 工作薄显示方式为最大化objExl.SheetsInNewWorkbook = 3 将默认新工作薄数量改回3个 Set objExl = Nothing 清除对象Me.MousePointer = 0 修改鼠标Exit Suberr1:o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论