`
阅读更多

全面控制   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源码】是一个关于使用Visual Basic(VB)编程语言来操纵Microsoft Excel的应用程序实例。在VB中,可以使用Automation技术,也称为COM(Component Object Model)自动化,来控制Excel对象模型,实现对...

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

    标签“VB的Excel编程”和“VB操纵Excel”揭示了程序的重点在于VB6.0如何与Excel进行交互。这涉及到API调用、对象模型的理解以及错误处理机制。开发者需要熟练掌握Excel的VBA(Visual Basic for Applications)知识,...

    怎样用vb打开Excel

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

    VB控制Excel的代码

    标题中的“VB控制Excel的代码”指的是使用Visual Basic(VB)编程语言来操纵Microsoft Excel应用程序,以便实现更复杂的报表和数据处理功能。VB虽然在报表设计方面可能存在局限性,但可以通过与Excel集成来克服这些...

    用VB操作excel方法汇总.rar_visual basic

    通过学习和实践这些方法,开发者能够使用Visual Basic高效地操纵Excel,执行数据处理、分析、报告生成等任务。文档"用VB操作excel方法汇总.doc"应该提供了详细的实例和代码示例,帮助读者掌握这些技能。

    VB用Excel作表格

    在VB中,我们可以使用内置的Object Library引用Microsoft Excel,通过创建Excel对象模型来操纵工作簿(Workbook)、工作表(Worksheet)以及单元格(Cell)。以下是一些关键的知识点: 1. **对象模型**:VB中的...

    vb与EXCEL的连接.doc

    VB与Excel的连接是编程领域中常见的技术,它允许开发者使用Visual Basic(VB)来操纵和交互Excel电子表格,从而实现更复杂的报表和数据处理功能。以下是对这一主题的详细说明: 1. **VB引用Excel对象库**: 在VB中,...

    查询excel数据

    综上所述,VB6与Excel数据表格的交互主要是通过创建和操纵Excel对象,实现对Excel数据的读取和查询。用户界面则通过窗体提供交互,允许用户输入查询条件并执行相应的查询操作。项目的管理文件则帮助开发者组织和跟踪...

    VB控制Execl详细操作

    标题与描述中的“VB控制Excel详细操作”指向的是利用Visual Basic (VB)编程语言来操纵Microsoft Excel应用程序的技术。这在自动化数据处理、报表生成或数据分析等任务中极为有用。以下是对给定代码片段中涉及的关键...

    VB.NET+SQL从基础到实践.rar

    SQL语言的核心包括DML(数据操纵语言)和DDL(数据定义语言)。DML用于插入、更新和删除数据,而DDL用于创建和修改数据库结构。除此之外,你还将接触到SQL查询,包括SELECT语句的使用,以及如何通过JOIN操作连接多个...

    vb2005数据库编程技术与实例

    开发者需要掌握如何利用Microsoft Office Interop库来操纵Excel对象模型,创建和填充透视表,同时保持与VB2005应用程序的交互。 最后,"4 - Windows功能部件设计"可能指的是VB2005中与Windows API相关的功能,比如...

    演示OLE自动化vb源代码

    1. OLE Automation对象:VB中的OLE Automation允许创建和操纵支持Automation的任何对象。这通常涉及导入类型库(.tlb文件),这样VB就能识别服务器对象的方法和属性。 2. `CreateObject`函数:这是VB中调用OLE ...

    OLE 操作Excel的示例[ManipulatingExceldata.rar]-精品源代码

    提供的源代码可能包含了一个简单的Windows Forms应用程序,它利用了Microsoft Office的自动化接口来操纵Excel对象。 1. **Windows Forms (Form1.frm, Form1.frx)** - `Form1.frm`是Windows Forms应用程序的主要...

    收取邮件_excel与txt互转_十六进制与字符串的转换

    在IT领域,邮件收取、Excel与TXT文件的互转以及十六进制与字符串的转换是常见的数据处理操作。...通过Python等编程语言实现这些操作,不仅可以提高工作效率,还能帮助我们更好地理解和操纵各种类型的数据。

    Excel透视表报表生成组件编程代码

    在这个"Excel透视表报表生成组件编程代码"项目中,我们重点关注的是如何在VS2005环境下通过编程接口(API)来操纵数据并生成Excel透视表。 首先,VS2005(Visual Studio 2005)是微软提供的一个集成开发环境(IDE)...

    EXCEL VBA的各种处理

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

    dotnet-在Excel中玩吃豆人游戏

    要深入了解这个项目,我们需要解压文件并查看源代码,这将揭示如何使用.NET技术来操纵Excel对象模型,创建游戏逻辑,以及如何在Excel环境中实现动画和用户交互。 这个项目的重点知识点可能包括: 1. **.NET框架...

    OLE 操作Excel的示例_OLE操作Excel的示例_

    在这个示例中,我们探讨的是如何通过OLE技术在VB(Visual Basic)、VC++或者其它支持OLE的编程环境中操作Excel,以便在窗体中显示Excel图表。 首先,我们需要理解的是,OLE操作Excel的基本步骤包括创建Excel应用...

    Excel+vba入门教程

    通过学习VBA的语法和对象模型,用户可以深入掌握如何直接操纵Excel的对象,如工作表、工作簿、单元格等,实现更高级的功能。 总的来说,Excel VBA入门教程将引导初学者了解VBA的基本概念,通过实践操作掌握宏的录制...

    数据导出EXCEL

    4. **VBA编程**:VBA是EXCEL的内置编程环境,它使用VB语法,使得用户能够编写宏或自定义函数,以执行自动化任务。在本项目中,VBA可能用于设置导出数据的格式、触发导出过程、处理错误等。例如,你可以创建一个VBA子...

Global site tag (gtag.js) - Google Analytics