用VB操作Excel(VB6.0)(整理)全面控制Excel:首先创建Excel对象,使用ComObj:DimExcelIDasExcel.ApplicationSetExcelIDasnewExcel.Application1)显示当前窗口: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.SavedthenExcelID.ActiveSheet.PrintPreviewEndif21)工作表另存为:ExcelID.SaveAs('C:\Excel\Demo1.xls');22)放弃存盘:ExcelID.ActiveWorkBook.Saved:=True;23)关闭工作簿:ExcelID.WorkBooks.Close;24)退出Excel:ExcelID.Quit;25)设置工作表密码:ExcelID.ActiveSheet.Protect123,DrawingObjects:=True,Contents:=True,Scenarios:=True26)EXCEL的显示方式为最大化ExcelID.Application.WindowState=xlMaximized27)工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState=xlMaximized28)设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook=329)'关闭时是否提示保存(true保存;false不保存)ExcelID.DisplayAlerts=False30)设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow=1ExcelID.ActiveWindow.FreezePanes=True31)设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows=$1:$132)设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=33)设置显示方式(分页方式显示)ExcelID.ActiveWindow.View=xlPageBreakPreview34)设置显示比例ExcelID.ActiveWindow.Zoom=10035)让Excel响应DDE请求Ex.Application.IgnoreRemoteRequests=False用VB操作EXCEL示例代码PrivateSubCommand3_Click()OnErrorGoToerr1DimiAsLongDimjAsLongDimobjExlAsExcel.Application'声明对象变量Me.MousePointer=11'改变鼠标样式SetobjExl=NewExcel.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=book2objExl.Sheets.Add,objExl.Sheets(book2)‘增加第三个工作薄在第二个之后objExl.Sheets(objExl.Sheets.Count).Name=book3objExl.Sheets(book1).Select'选中工作薄book1Fori=1To50'循环写入数据Forj=1To5Ifi=1ThenobjExl.Selection.NumberFormatLocal=@'设置格式为文本objExl.Cells(i,j)=E&i&jElseobjExl.Cells(i,j)=i&jEndIfNextNextobjExl.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.Protect123,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个SetobjExl=Nothing'清除对象Me.MousePointer=0'修改鼠标ExitSuberr1:objExl.SheetsInNewWorkbook=3objExl.DisplayAlerts=False'关闭时不提示保存objExl.Quit'关闭EXCELobjExl.DisplayAlerts=True'关闭时提示保存SetobjExl=NothingMe.MousePointer=0EndSub