`
chenlong_1988
  • 浏览: 185851 次
  • 性别: Icon_minigender_2
社区版块
存档分类

VB控制Word文档实例精选一

    博客分类:
  • vb
阅读更多

 

转自:http://blog.csdn.net/chenjl1031/article/details/8905354

1、在Word文档中插入表格,给单元格赋值,访问单元格内容,拆分及合并单元格

  1. '先引用Microsoft Word 11.0 Object Library  
  2. Option Explicit  
  3.   
  4. Dim WordApp As Word.Application '创建Word应用程序  
  5.   
  6. Private Sub Command1_Click()  
  7.       
  8.     Set WordApp = New Word.Application '实例化  
  9.     WordApp.Visible = True '显示 Office Word 界面  
  10.     '或者Application.Visible = True  
  11.     WordApp.DisplayAlerts = False '不提示保存对话框  
  12.     WordApp.Documents.Add '创建新的空白Word文档  
  13.     WordApp.Selection.EndKey unit:=wdStory  '将光标移到文档末尾,在文本后面插入表格  
  14.     Selection.TypeText Text:="我的Word表格" '表格的标题名称  
  15.     Call WordApp.ActiveDocument.Tables.Add(WordApp.Application.Selection.Range, 10, 5, 1, 0) '插入一个10行5列的表格  
  16.     Selection.Tables(1).Columns.Width = 80 '定义表格的列宽  
  17.       
  18.     '给单元格赋值  
  19.     WordApp.ActiveDocument.Tables(1).Cell(1, 1).Range.InsertAfter "序号"  
  20.     WordApp.ActiveDocument.Tables(1).Cell(1, 2).Range.InsertAfter "项目1"  
  21.     WordApp.ActiveDocument.Tables(1).Cell(1, 3).Range.InsertAfter "项目2"  
  22.     WordApp.ActiveDocument.Tables(1).Cell(1, 4).Range.InsertAfter "项目3"  
  23.     WordApp.ActiveDocument.Tables(1).Cell(1, 5).Range.InsertAfter "项目4"  
  24.       
  25.     '合并单元格  
  26.     WordApp.ActiveDocument.Tables(1).Cell(2, 2).Select '选中表格的第2行第2列  
  27.     Call WordApp.Application.Selection.MoveDown(5, 3, 1) '向下移动3格  
  28.     WordApp.Application.Selection.Cells.Merge '合并4个格子  
  29.       
  30.     '拆分单元格  
  31.     WordApp.ActiveDocument.Tables(1).Cell(10, 2).Select '选中表格的第10行第2列  
  32.     Call WordApp.Application.Selection.Cells.Split(7, 2, True'拆分成7行2列      
  33.       
  34.     '访问单元格内容  
  35.     Debug.Print WordApp.ActiveDocument.Tables(1).Cell(1, 1).Range.Text '第1行第1列的内容  
  36.       
  37.     ActiveDocument.SaveAs "c:\MyWord.doc" '保存最后生成的word文档  
  38.   
  39. End Sub  
  40.   
  41. Private Sub Form_Unload(Cancel As Integer)  
  42.     On Error Resume Next  
  43.     WordApp.Quit  
  44.     Set WordApp = Nothing  
  45. End Sub  

        生成的表格如下图所示:


        2、在Word文档中插入和导出图片对象

  1. '先引用Microsoft Word 11.0 Object Library  
  2. Option Explicit  
  3.   
  4. Dim WordApp As Word.Application '创建Word应用程序  
  5.   
  6. Private Sub Command1_Click()  
  7.     On Error GoTo Errhandler  
  8.     CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"  
  9.     CommonDialog1.FilterIndex = 1  
  10.     CommonDialog1.ShowOpen  
  11.     Set WordApp = New Word.Application '实例化  
  12.     WordApp.Documents.Open CommonDialog1.FileName '打开Word文件  
  13.     WordApp.Visible = True '显示 Office Word 界面  
  14.     '或者Application.Visible = True  
  15.     WordApp.DisplayAlerts = False '不提示保存对话框  
  16.     WordApp.Selection.EndKey Unit:=wdStory  '将光标移到文档末尾,在文本后面插入图片对象  
  17.     Selection.TypeText Text:="我的图片" '图片的标题名称  
  18.       
  19.     '插入图片对象  
  20.     Selection.InlineShapes.AddPicture FileName:="C:\CommandPicture.jpg", LinkToFile:=False, SaveWithDocument:=True  
  21.     Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend  
  22.     Selection.InlineShapes(1).ConvertToShape.Select  
  23.     Selection.ShapeRange.Fill.Visible = msoFalse  
  24.     Selection.ShapeRange.Fill.Transparency = 0#  
  25.     Selection.ShapeRange.Line.Weight = 0.75  
  26.     Selection.ShapeRange.Line.DashStyle = msoLineSolid  
  27.     Selection.ShapeRange.Line.Style = msoLineSingle  
  28.     Selection.ShapeRange.Line.Transparency = 0#  
  29.     Selection.ShapeRange.Line.Visible = msoFalse  
  30.     Selection.ShapeRange.LockAspectRatio = msoTrue  
  31.     Selection.ShapeRange.Height = 361.4  
  32.     Selection.ShapeRange.Width = 481.6  
  33.     Selection.ShapeRange.PictureFormat.Brightness = 0.5  
  34.     Selection.ShapeRange.PictureFormat.Contrast = 0.5  
  35.     Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic  
  36.     Selection.ShapeRange.PictureFormat.CropLeft = 0#  
  37.     Selection.ShapeRange.PictureFormat.CropRight = 0#  
  38.     Selection.ShapeRange.PictureFormat.CropTop = 0#  
  39.     Selection.ShapeRange.PictureFormat.CropBottom = 0#  
  40.     Selection.ShapeRange.RelativeHorizontalPosition = wdRelativeHorizontalPositionColumn  
  41.     Selection.ShapeRange.RelativeVerticalPosition = wdRelativeVerticalPositionPage  
  42.     Selection.ShapeRange.Left = wdShapeCenter  
  43.     Selection.ShapeRange.Top = wdShapeCenter  
  44.     Selection.ShapeRange.LockAnchor = False  
  45.     Selection.ShapeRange.WrapFormat.AllowOverlap = True  
  46.     Selection.ShapeRange.WrapFormat.Side = wdWrapBoth  
  47.     Selection.ShapeRange.WrapFormat.DistanceTop = CentimetersToPoints(0)  
  48.     Selection.ShapeRange.WrapFormat.DistanceBottom = CentimetersToPoints(0)  
  49.     Selection.ShapeRange.WrapFormat.DistanceLeft = CentimetersToPoints(0.32)  
  50.     Selection.ShapeRange.WrapFormat.DistanceRight = CentimetersToPoints(0.32)  
  51.     Selection.ShapeRange.WrapFormat.Type = 3  
  52.     Selection.ShapeRange.ZOrder msoSendBehindText  '设置图片为衬托于文字下方  
  53.   
  54.     '判断文档中是否存在图片对象  
  55.     If ActiveDocument.Shapes.Count + ActiveDocument.InlineShapes.Count > 0 Then  
  56.        '取得图片的2种方法  
  57.          
  58.        '第1种方法:用下面命令将文件另存为网页格式的文件,文件夹“MyWord.files”将保存Word文档中所有的图片  
  59.        '这种方法对所有的Word版本均适用  
  60.        ActiveDocument.SaveAs "c:\MyWord.htm", wdFormatHTML '保存为网页格式  
  61.          
  62.        '第2种方法:引用ADO对象库,将所有的图片保存在数据库中,然后可以一张一张地显示出来  
  63.          
  64.        '另外:  
  65.        '如果Word文档是docx格式的,那可以按这个办法解决:  
  66.        '.docx 格式的文件本质上是一个ZIP压缩文件,.docx 格式文件的主要内容是保存为XML格式的,但文件并非直接保存于磁盘。  
  67.        '它是保存在一个ZIP文件中,然后取扩展名为.docx。我们只需要用解压软件比如:WinZIP、WinRAR或者7ZIP等软件进行解压就可以了。  
  68.        '方法有两种,一种是将.docx后缀名修改为.zip后缀名;另一个方法就是打开WinZIP然后,选择此文档即可。  
  69.        '图片资源文件都被保存在word\media文件夹中。             
  70.          
  71.     Else  
  72.        Debug.Print "Word文档中不存在图片对象!"  
  73.     End If  
  74.   
  75. Errhandler:  
  76.     Exit Sub  
  77. End Sub  
  78.   
  79. Private Sub Form_Unload(Cancel As Integer)  
  80.     On Error Resume Next  
  81.     WordApp.Quit  
  82.     Set WordApp = Nothing  
  83. End Sub  


        3、统计Word文档页数、字数

  1. '先引用Microsoft Word 11.0 Object Library  
  2. Option Explicit  
  3.   
  4. Dim WordApp As Word.Application '创建Word应用程序  
  5.   
  6. Private Sub Command1_Click()  
  7.     On Error GoTo Errhandler  
  8.     CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"  
  9.     CommonDialog1.FilterIndex = 1  
  10.     CommonDialog1.ShowOpen  
  11.     Set WordApp = New Word.Application '实例化  
  12.     WordApp.Documents.Open CommonDialog1.FileName '打开Word文件  
  13.     WordApp.Visible = False '不显示 Office Word 界面  
  14.     '或者Application.Visible = True  
  15.     'WordApp.DisplayAlerts = False '不提示保存对话框  
  16.       
  17.     Debug.Print WordApp.ActiveDocument.ComputeStatistics(Word.WdStatistic.wdStatisticPages) '页数  
  18.     Debug.Print WordApp.ActiveDocument.Characters.Count '字数  
  19.       
  20. Errhandler:  
  21.     Exit Sub  
  22. End Sub  
  23.   
  24. Private Sub Form_Unload(Cancel As Integer)  
  25.     On Error Resume Next  
  26.     WordApp.Quit  
  27.     Set WordApp = Nothing  
  28. End Sub  
分享到:
评论
1 楼 lshhjxlj 2016-12-17  
整理的不错,赞一个!

相关推荐

    通过VB控制WORD文档

    本文将深入探讨如何通过VB控制Word文档,实现自动化文档创建、编辑和格式化等任务。 首先,要通过VB与Word交互,我们需要引入`Microsoft Word Object Library`。在VB的工程中,点击“工具”菜单 -> “引用”,然后...

    vb开发的读写word文档

    通过这个接口,VB程序能够控制Word应用程序,实现创建、编辑和保存Word文档的功能。下面将详细阐述这一领域的相关知识点。 一、VB与Word交互基础 1. **对象模型**:VB中的Word操作基于Office的COM对象模型,其中...

    VB代码使用WebBrowser控件作为容器打开Word文档

    在VB(Visual Basic)编程中,有时候我们需要在应用程序中集成打开和查看Word文档的功能,而无需依赖Microsoft Word的完整实例。在这种情况下,可以利用WebBrowser控件作为一个容器来实现这一目标。WebBrowser控件...

    VB6编程生成图文并茂的Word文档

    在VB6(Visual Basic 6)环境中,生成图文并茂的Word文档是一项常见的任务,尤其在数据报告、教学材料或企业文档中应用广泛。通过利用VB6的Microsoft Office Interop库,开发者可以创建、编辑和格式化Word文档,实现...

    VB创建word文件

    3. 创建新文档:创建好Word应用程序实例后,我们可以创建一个新的Word文档,并且可以对其进行各种编辑操作。 4. 编辑文档:在新创建的文档中,可以添加文本、调整字体、插入表格、图片以及其他元素。这部分操作需要...

    vb控制word实例2.doc

    该VB实例展示了如何使用Visual Basic来操控Microsoft Word应用程序,实现对Word文档的读取、页面控制以及页眉和页脚的设置。以下是详细的知识点解释: 1. 引用Word对象库:在VB中,首先需要引用Microsoft Word 11.0...

    怎样在VB中控制WORD.pdf

    VB控制Word不仅限于上述内容,通过阅读提供的参考资料链接中的相关文章,你可以获得更多的信息,比如如何使用VB创建Word文档,如何在Word中打印信封,以及如何用VB创建规范性文档等。这些技能可以帮助你在编写宏、...

    VB自动生成WORD报告源码+实例

    【VB自动生成WORD报告源码+实例】是一个关于利用Visual Basic (VB)编程语言来自动化创建Microsoft Word文档的教程。这个资源包包含了源代码、示例文档和一个可执行程序,帮助开发者理解如何通过VB与Word进行交互,...

    VB控制Word 1 (2KB)...

    在VB(Visual Basic)编程中,使用控件与Word交互是一项常见的任务,这通常涉及到自动化Microsoft Word的功能,例如创建文档、编辑文本、插入图片、格式化内容等。本篇文章将详细探讨如何通过VB来控制Word,以及源...

    怎样在VB中控制WORD

    综上所述,利用VB控制Word不仅限于简单的文档操作,通过深入理解和运用OLE自动化技术,开发者可以实现对Word文档的全方位控制,从而极大地提高数据处理效率和自动化办公水平。无论是批量文档生成、模板填充,还是...

    VB 调用Word打印

    当需要批量处理Word文档或者在自动化流程中进行打印操作时,VB可以调用Word对象模型来实现这一目标。下面我们将详细探讨如何使用VB调用Word进行打印。 首先,我们需要引入Microsoft Word的COM组件,这使得VB能够与...

    wxh 《VB控制Word .rar

    在VB中,我们还可以对Word文档进行更复杂的操作,如插入文本、设置格式、查找替换、插入表格等。例如,插入文本到文档的光标位置: ```vb objDoc.Content.Text = "这是由VB插入的文本" ``` 此外,VB还可以用来自动...

    vb读取word小例子

    在VB(Visual Basic)编程环境中,读取Word文档是一项常见的任务,特别是在自动化办公流程或数据处理的应用中。这个“vb读取word小例子”提供了一种简单的方法来实现这一功能,通过一段简洁的代码,就能读取Word文档...

    VB+ACCESS+WORD实例

    4. **VB操作WORD技术**:VB可以控制Word应用程序,创建、打开、修改Word文档,甚至执行复杂的格式化任务。例如,VB代码可以生成报告,自动填充来自Access数据库的数据,或者根据预定义模板生成文档。这对于自动化...

    VB控制Word

    "VB控制Word"这个主题聚焦于如何使用VB来自动化和控制Microsoft Word文档的操作。这包括创建、编辑、格式化、读取和保存Word文档等任务。这一技术在许多实际场景下都非常有用,比如批量处理文档、自动化报告生成、...

    vb 读写WORD复杂表格

    在VB(Visual Basic)编程环境中,读写Word文档,尤其是处理复杂的表格,是一项常见的任务。这通常涉及到Microsoft Office Interop库的使用,该库允许VB应用程序与Word进行交互。下面我们将详细探讨如何在VB中实现对...

    在VB中实现操作Word文档

    在VB(Visual Basic)中操作Word文档主要涉及的是Microsoft Office自动化技术,这使得开发者可以通过编程方式控制Word应用程序,创建、编辑、格式化和处理Word文档。以下是一些关键知识点: 1. **对象模型**:VB中...

    VB 嵌入Word对象

    在VB(Visual Basic)编程环境中,嵌入Word对象是一种常见的技术,它允许用户在VB应用程序中直接操作和显示Microsoft Word文档。这种技术基于COM(Component Object Model)组件,使得VB可以利用Word的功能,如创建...

    精彩编程与编程技巧-怎样在VB中控制WORD...

    通过上述方法,我们已经学习了如何在VB中控制Word文档的基础知识,包括Shell方法、OLE对象以及WordBasic对象的应用。这些技术不仅能够帮助开发者实现文档的自动化处理,还能进一步提升开发效率。当然,这只是VB与...

    word嵌入到vb中form窗体中

    在某些场景下,为了提供用户友好的界面或者实现特定功能,我们可能需要将Word文档嵌入到VB的Form窗体中。这允许用户在不离开主应用界面的情况下查看、编辑Word文档,提高了用户体验。下面我们将详细探讨如何实现这一...

Global site tag (gtag.js) - Google Analytics