转自:http://blog.csdn.net/chenjl1031/article/details/8905354
1、在Word文档中插入表格,给单元格赋值,访问单元格内容,拆分及合并单元格
- '先引用Microsoft Word 11.0 Object Library
- Option Explicit
- Dim WordApp As Word.Application '创建Word应用程序
- Private Sub Command1_Click()
- Set WordApp = New Word.Application '实例化
- WordApp.Visible = True '显示 Office Word 界面
- '或者Application.Visible = True
- WordApp.DisplayAlerts = False '不提示保存对话框
- WordApp.Documents.Add '创建新的空白Word文档
- WordApp.Selection.EndKey unit:=wdStory '将光标移到文档末尾,在文本后面插入表格
- Selection.TypeText Text:="我的Word表格" '表格的标题名称
- Call WordApp.ActiveDocument.Tables.Add(WordApp.Application.Selection.Range, 10, 5, 1, 0) '插入一个10行5列的表格
- Selection.Tables(1).Columns.Width = 80 '定义表格的列宽
- '给单元格赋值
- WordApp.ActiveDocument.Tables(1).Cell(1, 1).Range.InsertAfter "序号"
- WordApp.ActiveDocument.Tables(1).Cell(1, 2).Range.InsertAfter "项目1"
- WordApp.ActiveDocument.Tables(1).Cell(1, 3).Range.InsertAfter "项目2"
- WordApp.ActiveDocument.Tables(1).Cell(1, 4).Range.InsertAfter "项目3"
- WordApp.ActiveDocument.Tables(1).Cell(1, 5).Range.InsertAfter "项目4"
- '合并单元格
- WordApp.ActiveDocument.Tables(1).Cell(2, 2).Select '选中表格的第2行第2列
- Call WordApp.Application.Selection.MoveDown(5, 3, 1) '向下移动3格
- WordApp.Application.Selection.Cells.Merge '合并4个格子
- '拆分单元格
- WordApp.ActiveDocument.Tables(1).Cell(10, 2).Select '选中表格的第10行第2列
- Call WordApp.Application.Selection.Cells.Split(7, 2, True) '拆分成7行2列
- '访问单元格内容
- Debug.Print WordApp.ActiveDocument.Tables(1).Cell(1, 1).Range.Text '第1行第1列的内容
- ActiveDocument.SaveAs "c:\MyWord.doc" '保存最后生成的word文档
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- On Error Resume Next
- WordApp.Quit
- Set WordApp = Nothing
- End Sub
生成的表格如下图所示:
2、在Word文档中插入和导出图片对象
- '先引用Microsoft Word 11.0 Object Library
- Option Explicit
- Dim WordApp As Word.Application '创建Word应用程序
- Private Sub Command1_Click()
- On Error GoTo Errhandler
- CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"
- CommonDialog1.FilterIndex = 1
- CommonDialog1.ShowOpen
- Set WordApp = New Word.Application '实例化
- WordApp.Documents.Open CommonDialog1.FileName '打开Word文件
- WordApp.Visible = True '显示 Office Word 界面
- '或者Application.Visible = True
- WordApp.DisplayAlerts = False '不提示保存对话框
- WordApp.Selection.EndKey Unit:=wdStory '将光标移到文档末尾,在文本后面插入图片对象
- Selection.TypeText Text:="我的图片" '图片的标题名称
- '插入图片对象
- Selection.InlineShapes.AddPicture FileName:="C:\CommandPicture.jpg", LinkToFile:=False, SaveWithDocument:=True
- Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
- Selection.InlineShapes(1).ConvertToShape.Select
- Selection.ShapeRange.Fill.Visible = msoFalse
- Selection.ShapeRange.Fill.Transparency = 0#
- Selection.ShapeRange.Line.Weight = 0.75
- Selection.ShapeRange.Line.DashStyle = msoLineSolid
- Selection.ShapeRange.Line.Style = msoLineSingle
- Selection.ShapeRange.Line.Transparency = 0#
- Selection.ShapeRange.Line.Visible = msoFalse
- Selection.ShapeRange.LockAspectRatio = msoTrue
- Selection.ShapeRange.Height = 361.4
- Selection.ShapeRange.Width = 481.6
- Selection.ShapeRange.PictureFormat.Brightness = 0.5
- Selection.ShapeRange.PictureFormat.Contrast = 0.5
- Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic
- Selection.ShapeRange.PictureFormat.CropLeft = 0#
- Selection.ShapeRange.PictureFormat.CropRight = 0#
- Selection.ShapeRange.PictureFormat.CropTop = 0#
- Selection.ShapeRange.PictureFormat.CropBottom = 0#
- Selection.ShapeRange.RelativeHorizontalPosition = wdRelativeHorizontalPositionColumn
- Selection.ShapeRange.RelativeVerticalPosition = wdRelativeVerticalPositionPage
- Selection.ShapeRange.Left = wdShapeCenter
- Selection.ShapeRange.Top = wdShapeCenter
- Selection.ShapeRange.LockAnchor = False
- Selection.ShapeRange.WrapFormat.AllowOverlap = True
- Selection.ShapeRange.WrapFormat.Side = wdWrapBoth
- Selection.ShapeRange.WrapFormat.DistanceTop = CentimetersToPoints(0)
- Selection.ShapeRange.WrapFormat.DistanceBottom = CentimetersToPoints(0)
- Selection.ShapeRange.WrapFormat.DistanceLeft = CentimetersToPoints(0.32)
- Selection.ShapeRange.WrapFormat.DistanceRight = CentimetersToPoints(0.32)
- Selection.ShapeRange.WrapFormat.Type = 3
- Selection.ShapeRange.ZOrder msoSendBehindText '设置图片为衬托于文字下方
- '判断文档中是否存在图片对象
- If ActiveDocument.Shapes.Count + ActiveDocument.InlineShapes.Count > 0 Then
- '取得图片的2种方法
- '第1种方法:用下面命令将文件另存为网页格式的文件,文件夹“MyWord.files”将保存Word文档中所有的图片
- '这种方法对所有的Word版本均适用
- ActiveDocument.SaveAs "c:\MyWord.htm", wdFormatHTML '保存为网页格式
- '第2种方法:引用ADO对象库,将所有的图片保存在数据库中,然后可以一张一张地显示出来
- '另外:
- '如果Word文档是docx格式的,那可以按这个办法解决:
- '.docx 格式的文件本质上是一个ZIP压缩文件,.docx 格式文件的主要内容是保存为XML格式的,但文件并非直接保存于磁盘。
- '它是保存在一个ZIP文件中,然后取扩展名为.docx。我们只需要用解压软件比如:WinZIP、WinRAR或者7ZIP等软件进行解压就可以了。
- '方法有两种,一种是将.docx后缀名修改为.zip后缀名;另一个方法就是打开WinZIP然后,选择此文档即可。
- '图片资源文件都被保存在word\media文件夹中。
- Else
- Debug.Print "Word文档中不存在图片对象!"
- End If
- Errhandler:
- Exit Sub
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- On Error Resume Next
- WordApp.Quit
- Set WordApp = Nothing
- End Sub
3、统计Word文档页数、字数
- '先引用Microsoft Word 11.0 Object Library
- Option Explicit
- Dim WordApp As Word.Application '创建Word应用程序
- Private Sub Command1_Click()
- On Error GoTo Errhandler
- CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"
- CommonDialog1.FilterIndex = 1
- CommonDialog1.ShowOpen
- Set WordApp = New Word.Application '实例化
- WordApp.Documents.Open CommonDialog1.FileName '打开Word文件
- WordApp.Visible = False '不显示 Office Word 界面
- '或者Application.Visible = True
- 'WordApp.DisplayAlerts = False '不提示保存对话框
- Debug.Print WordApp.ActiveDocument.ComputeStatistics(Word.WdStatistic.wdStatisticPages) '页数
- Debug.Print WordApp.ActiveDocument.Characters.Count '字数
- Errhandler:
- Exit Sub
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- On Error Resume Next
- WordApp.Quit
- Set WordApp = Nothing
- End Sub
相关推荐
本文将深入探讨如何通过VB控制Word文档,实现自动化文档创建、编辑和格式化等任务。 首先,要通过VB与Word交互,我们需要引入`Microsoft Word Object Library`。在VB的工程中,点击“工具”菜单 -> “引用”,然后...
通过这个接口,VB程序能够控制Word应用程序,实现创建、编辑和保存Word文档的功能。下面将详细阐述这一领域的相关知识点。 一、VB与Word交互基础 1. **对象模型**:VB中的Word操作基于Office的COM对象模型,其中...
在VB(Visual Basic)编程中,有时候我们需要在应用程序中集成打开和查看Word文档的功能,而无需依赖Microsoft Word的完整实例。在这种情况下,可以利用WebBrowser控件作为一个容器来实现这一目标。WebBrowser控件...
在VB6(Visual Basic 6)环境中,生成图文并茂的Word文档是一项常见的任务,尤其在数据报告、教学材料或企业文档中应用广泛。通过利用VB6的Microsoft Office Interop库,开发者可以创建、编辑和格式化Word文档,实现...
3. 创建新文档:创建好Word应用程序实例后,我们可以创建一个新的Word文档,并且可以对其进行各种编辑操作。 4. 编辑文档:在新创建的文档中,可以添加文本、调整字体、插入表格、图片以及其他元素。这部分操作需要...
该VB实例展示了如何使用Visual Basic来操控Microsoft Word应用程序,实现对Word文档的读取、页面控制以及页眉和页脚的设置。以下是详细的知识点解释: 1. 引用Word对象库:在VB中,首先需要引用Microsoft Word 11.0...
VB控制Word不仅限于上述内容,通过阅读提供的参考资料链接中的相关文章,你可以获得更多的信息,比如如何使用VB创建Word文档,如何在Word中打印信封,以及如何用VB创建规范性文档等。这些技能可以帮助你在编写宏、...
【VB自动生成WORD报告源码+实例】是一个关于利用Visual Basic (VB)编程语言来自动化创建Microsoft Word文档的教程。这个资源包包含了源代码、示例文档和一个可执行程序,帮助开发者理解如何通过VB与Word进行交互,...
在VB(Visual Basic)编程中,使用控件与Word交互是一项常见的任务,这通常涉及到自动化Microsoft Word的功能,例如创建文档、编辑文本、插入图片、格式化内容等。本篇文章将详细探讨如何通过VB来控制Word,以及源...
综上所述,利用VB控制Word不仅限于简单的文档操作,通过深入理解和运用OLE自动化技术,开发者可以实现对Word文档的全方位控制,从而极大地提高数据处理效率和自动化办公水平。无论是批量文档生成、模板填充,还是...
当需要批量处理Word文档或者在自动化流程中进行打印操作时,VB可以调用Word对象模型来实现这一目标。下面我们将详细探讨如何使用VB调用Word进行打印。 首先,我们需要引入Microsoft Word的COM组件,这使得VB能够与...
在VB中,我们还可以对Word文档进行更复杂的操作,如插入文本、设置格式、查找替换、插入表格等。例如,插入文本到文档的光标位置: ```vb objDoc.Content.Text = "这是由VB插入的文本" ``` 此外,VB还可以用来自动...
在VB(Visual Basic)编程环境中,读取Word文档是一项常见的任务,特别是在自动化办公流程或数据处理的应用中。这个“vb读取word小例子”提供了一种简单的方法来实现这一功能,通过一段简洁的代码,就能读取Word文档...
4. **VB操作WORD技术**:VB可以控制Word应用程序,创建、打开、修改Word文档,甚至执行复杂的格式化任务。例如,VB代码可以生成报告,自动填充来自Access数据库的数据,或者根据预定义模板生成文档。这对于自动化...
"VB控制Word"这个主题聚焦于如何使用VB来自动化和控制Microsoft Word文档的操作。这包括创建、编辑、格式化、读取和保存Word文档等任务。这一技术在许多实际场景下都非常有用,比如批量处理文档、自动化报告生成、...
在VB(Visual Basic)编程环境中,读写Word文档,尤其是处理复杂的表格,是一项常见的任务。这通常涉及到Microsoft Office Interop库的使用,该库允许VB应用程序与Word进行交互。下面我们将详细探讨如何在VB中实现对...
在VB(Visual Basic)中操作Word文档主要涉及的是Microsoft Office自动化技术,这使得开发者可以通过编程方式控制Word应用程序,创建、编辑、格式化和处理Word文档。以下是一些关键知识点: 1. **对象模型**:VB中...
在VB(Visual Basic)编程环境中,嵌入Word对象是一种常见的技术,它允许用户在VB应用程序中直接操作和显示Microsoft Word文档。这种技术基于COM(Component Object Model)组件,使得VB可以利用Word的功能,如创建...
通过上述方法,我们已经学习了如何在VB中控制Word文档的基础知识,包括Shell方法、OLE对象以及WordBasic对象的应用。这些技术不仅能够帮助开发者实现文档的自动化处理,还能进一步提升开发效率。当然,这只是VB与...
在某些场景下,为了提供用户友好的界面或者实现特定功能,我们可能需要将Word文档嵌入到VB的Form窗体中。这允许用户在不离开主应用界面的情况下查看、编辑Word文档,提高了用户体验。下面我们将详细探讨如何实现这一...