`
阅读更多

全面控制   Excel   
  首先创建   Excel   对象,使用ComObj:   
  Dim   ExcelID   as   Excel.Application   
  Set   ExcelID   as   new   Excel.Application   
  1)   显示当前窗口:   
  ExcelID.Visible   :=   True;   
  2)   更改   Excel   标题栏:   
  ExcelID.Caption   :=   '应用程序调用   Microsoft   Excel';   
  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)   工作表保存:   
    If   not   ExcelID.ActiveWorkBook.Saved   then   
        ExcelID.ActiveSheet.PrintPreview   
        End   if   
  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   
    
  用VB操作EXCEL   
  Private   Sub   Command3_Click()   
  On   Error   GoTo   err1   
          Dim   i   As   Long   
          Dim   j   As   Long   
          Dim   objExl   As   Excel.Application       '声明对象变量   
          Me.MousePointer   =   11                         '改变鼠标样式   
          Set   objExl   =   New   Excel.Application   '初始化对象变量   
          objExl.SheetsInNewWorkbook   =   1     '将新建的工作薄数量设为1   
          objExl.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           '选中工作薄<book1>   
          For   i   =   1   To   50                                       '循环写入数据   
                  For   j   =   1   To   5   
  If   i   =   1   Then   
                      objExl.Selection.NumberFormatLocal   =   "@"     '设置格式为文本     
  objExl.Cells(i,   j)   =   "   E   "   &   i   &   j   
                          Else   
                                objExl.Cells(i,   j)   =   i   &   j   
                          End   If   
                  Next   
          Next   
    
        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       '修改鼠标   
  Exit   Sub   
  err1:   
  objExl.SheetsInNewWorkbook   =   3   
  objExl.DisplayAlerts   =   False     '关闭时不提示保存   
  objExl.Quit                                 '关闭EXCEL   
  objExl.DisplayAlerts   =   True       '关闭时提示保存   
  Set   objExl   =   Nothing   
  Me.MousePointer   =   0   
  End   Sub   
  ********************************************************

  然后在您需要操作Excel的地方添加如下代码:   
  Dim   app   As   Excel.Application   
  Dim   books   As   Excel.Workbooks   
  Dim   sheets   As   Worksheets   
  Dim   sheet   As   Worksheet   
  Set   app   =   CreateObject("Excel.Application")   
  Set   books   =   app.Workbooks   
  books.Add   
  app.Visible   =   True   
  Set   sheet   =   app.Worksheets("Sheet1")   
  sheet.Activate   
  '改变字体   
  Range("D13").Select   
  ActiveCell.FormulaR1C1   =   "Change   Font"   
  With   ActiveCell.Characters(Start:=1,   Length:=11).Font   
          .Name   =   "Bernard   MT   Condensed"   
          .FontStyle   =   "Regular"   
          .Size   =   12   
          .Strikethrough   =   False   
          .Superscript   =   False   
          .Subscript   =   False   
          .OutlineFont   =   False   
          .Shadow   =   False   
          .Underline   =   xlUnderlineStyleNone   
          .ColorIndex   =   xlAutomatic   
  End   With   
  '设置字体颜色为红色   
  Range("C4").Select   
  ActiveCell.FormulaR1C1   =   "Change   Color"   
  With   ActiveCell.Characters(Start:=1,   Length:=12).Font   
          .Name   =   "宋体"   
          .FontStyle   =   "Regular"   
          .Size   =   12   
          .Strikethrough   =   False   
          .Superscript   =   False   
          .Subscript   =   False   
          .OutlineFont   =   False   
          .Shadow   =   False   
          .Underline   =   xlUnderlineStyleNone   
          .ColorIndex   =   3   
  End   With   
  '增加边框   
  Range("E5:H10").Select   
          Selection.Borders(xlDiagonalDown).LineStyle   =   xlNone   
          Selection.Borders(xlDiagonalUp).LineStyle   =   xlNone   
          With   Selection.Borders(xlEdgeLeft)   
                  .LineStyle   =   xlContinuous   
                  .Weight   =   xlThin   
                  .ColorIndex   =   xlAutomatic   
          End   With   
          With   Selection.Borders(xlEdgeTop)   
                  .LineStyle   =   xlContinuous   
                  .Weight   =   xlThin   
                  .ColorIndex   =   xlAutomatic   
          End   With   
          With   Selection.Borders(xlEdgeBottom)   
                  .LineStyle   =   xlContinuous   
                  .Weight   =   xlThin   
                  .ColorIndex   =   xlAutomatic   
          End   With   
          With   Selection.Borders(xlEdgeRight)   
                  .LineStyle   =   xlContinuous   
                  .Weight   =   xlThin   
                  .ColorIndex   =   xlAutomatic   
          End   With   
          With   Selection.Borders(xlInsideVertical)   
                  .LineStyle   =   xlContinuous   
                  .Weight   =   xlThin   
                  .ColorIndex   =   xlAutomatic   
          End   With   
          With   Selection.Borders(xlInsideHorizontal)   
                  .LineStyle   =   xlContinuous   
                  .Weight   =   xlThin   
                  .ColorIndex   =   xlAutomatic   
          End   With   
  sheet.SaveAs   "C:\Test.xls"   
  books.Close   
  app.Quit   
    
  如果您希望了解如何改变单元格的字体,边框,或者颜色,您有以下两个办法:   
  1、在Microsoft   Excel   中,首先在工具->宏->记录新宏,开始记录一个新的宏,然后手动选中单元格,并改变单元格的格式,完成目的以后,选择停止记录。接着在工具->宏中打开Visual   Basic编辑器,在模块中会有一段相应的代码,对应着您刚才的操作,您可以把这段代码写到Visual   Basic的工程中,就通过程序实现了设置单元格格式。   
    
  2、您可以参考MSDN文档:   
  Microsoft   Office   XP   Developer       Working   with   Microsoft   Excel   Objects     
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/modcore/html/deovrUnderstandingExcelApplicationObject.asp   学习Excel对象的使用,同时参考MSDN相关的内容学习各种属性的使用方法

分享到:
评论

相关推荐

    VB中使用Excel详解

    在VB应用程序中调用Excel,实质是将Excel作为一个外部对象来引用,由Excel对象模型提供能从VB应用程序内部来程序化操纵的对象以及相关的属性、方法和事件。  1、在VB工程中添加对Excel类型库的引用  为了能从VB...

    VB6.0做的监考费用统计程序

    帮人做的一个小工具,里边用到的一些东西或许有些参考价值,开发工具Visual Basic 6+Excel2003,主要是VB对Excel的基础编程,还使用了MSFlexGrid控件

    Excel_VBA教程

    1.2 EXCEL环境中基于应用程序自动化的优点 1 1.3 录制简单的宏 2 1.4 执行宏 2 1.5 查看录制的代码 2 1.6 编辑录制的代码 3 1.7 录制宏的局限性 4 1.8 小结 4 第二课 处理录制的宏 4 2.1 为宏指定快捷键 4 2.2 决定...

    VB实现ExceI数据处理

    VB实现ExceI数据处理 :visual Basic(简称vB)是设计windows应用程序强有力的开发工具j Excel是目前使用最广泛的办公应用 ...用程序对象是外部可创建的对象,所以能从vB应用程序内部来程序化操纵Excel。

    EXCEL VBA的各种处理

    excel vba收藏版是包含了EXCEL数据处理的各种VBA程式,非常的实用,详细的介绍了excel vba实战技巧精粹和基本语法操作,可以适用于办公新手,也适用于excel编程高手。具体向读者讲述了vba语言基础,vba程序设计网络...

    ExcelVBA程序设计.doc

    1.2 EXCEL环境中基于应用程序自动化的优点 1 1.3 录制简单的宏 2 1.4 执行宏 2 1.5 查看录制的代码 2 1.6 编辑录制的代码 3 1.7 录制宏的局限性 4 1.8 小结 4 第二课 处理录制的宏 4 2.1 为宏指定快捷键 4 2.2 决定...

    Lwwvb销售单统计系统源码access2000

    &lt;BR&gt;&lt;BR&gt;4、账簿报表要了解用代码操纵EXCEL,请看看(C账簿报表),但可能太复杂了点,希望高手们能指点一下此报表的速度改进..&lt;BR&gt;&lt;BR&gt;本软件没有版权,可任意复制修改。如果各位发现本软件有任何BUG,也希望来信指点...

    Excel VBA 基础教程

    ........................................................................EXCEL环境中基于应用程序自动化的优点................................................................................1 1.3 录制简单的...

    EXCEL编程VBA高级教程

    1.2EXCEL环境中基于应用程序自动化的优点................................................................................1 1.3录制简单的宏....................................................................

    DELPHI专题文档-程序应用

    用Delphi 5.0编写OLE程序操纵Excel 用Delphi编写DLL实现动态改变分辨率 在delphi中使用flash控件 在Delphi中运用QuickReport实现多栏列印 控制INI文件几法 转让控制权 得到执行程序的目录 打开已注册文件 ...

    DELPHI专题--程序应用

    用Delphi 5.0编写OLE程序操纵Excel 用Delphi编写DLL实现动态改变分辨率 在delphi中使用flash控件 在Delphi中运用QuickReport实现多栏列印 控制INI文件几法 转让控制权 得到执行程序的目录 打开已注册文件 ...

    Visual Basic 2010入门经典.part2.rar

    8.4.3 使用代码操纵List View 143 8.5 使用Tree View创建层次列表 144 8.5.1 在Tree View中添加节点 145 8.5.2 删除节点 146 8.5.3 清除所有节点 147 8.6 总结 147 8.7 问与答 147 8.8 作业 148 8.8.1 测验...

    数据库设计工具.docx

    利用Power Designer能够制作数据流程图、概念数据模型、物理数据模型,还能够为数据仓库制作结构模型,也能对团队设计模型进行操纵。它能够与许多流行的数据库设计软件,例如PowerBuilder,Delphi,VB等相配合使缩短...

    高职计算机信息管理专业《数据库技术》课程教学改革.doc

    关系型数据库的基本概念、数据库的设计、具体创建表、创建数据的方法 、常用的数据库对象、sql语言,重点是数据的查询统计语句、数据库的安全与管理,至 少学习一种前台开发平台与数据库的连接及数据基本操纵方法。...

Global site tag (gtag.js) - Google Analytics