VB控制Word文档实例精选一
2013-05-09 14:30
197 查看
1、在Word文档中插入表格,给单元格赋值,访问单元格内容,拆分及合并单元格
生成的表格如下图所示:
2、在Word文档中插入和导出图片对象
3、统计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的类模块,查找、替换Word文档内容
- VB控制Excel工作薄实例精选二
- VB控制Excel工作薄实例精选一
- C#/VB.NET 给Word文档添加/撤销书签
- c#写word文档基础操作(自己控制样式)
- Spire.Doc 教程:如何在C#,VB.NET中为Word文档插入形状和形状组
- VB查找并替换WORD文档中的字符串
- 用VB.net创建和打开word文档
- C#控制Word打开文档后,如何设置文档不可编辑
- java页面导出excel实例,java页面导出word文档实例
- 用jsoup解析word文档转变的html项目实例
- 程序控制打印word文档超出页边距的问题
- 使用VB对word文档进行格式调整
- 怎样在VB中控制Word
- [VB.NET]轻松控制Word
- php生成word文档的实例代码
- C#读取word文档实例浅析
- 基于WebForm的操作Word文档实例
- 怎样在VB中控制WORD