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

VB控制Word文档实例精选二

    博客分类:
  • vb
阅读更多

        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.     Dim i As Long  
  8.     On Error GoTo Errhandler  
  9.     CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"  
  10.     CommonDialog1.FilterIndex = 1  
  11.     CommonDialog1.ShowOpen  
  12.     Set WordApp = New Word.Application '实例化  
  13.     WordApp.Documents.Open CommonDialog1.FileName '打开Word文件  
  14.     WordApp.Visible = True '显示 Office Word 界面  
  15.     '或者Application.Visible = True  
  16.     WordApp.DisplayAlerts = False '不提示保存对话框  
  17.       
  18.     '返回段落文字,返回的段落文字在文本框控件中  
  19.     Text1.Text = ""  
  20.     For i = 1 To ActiveDocument.Paragraphs.Count  
  21.         Text1.Text = Text1.Text & (ActiveDocument.Paragraphs(i).Range.Text & vbCrLf & vbCrLf)  
  22.     Next  
  23.       
  24.     '控制分页  
  25.     WordApp.Selection.EndKey unit:=wdStory  '将光标移到文档末尾  
  26.     WordApp.Selection.InsertBreak wdPageBreak '在文档末尾插入一页  
  27.       
  28.     '设置图片格式的页眉  
  29.     If ActiveWindow.View.SplitSpecial <> wdPaneNone Then  
  30.        ActiveWindow.Panes(2).Close  
  31.     End If  
  32.     If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow.ActivePane.View.Type = wdOutlineView Then  
  33.        ActiveWindow.ActivePane.View.Type = wdPrintView  
  34.     End If  
  35.     ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader  
  36.     Selection.InlineShapes.AddPicture FileName:="F:\资料\My Pictures\2013年元旦.gif", LinkToFile:=False, SaveWithDocument:=True '加载一图片文件作为页眉  
  37.     Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft  
  38.     ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument  
  39.       
  40.     '设置文本格式的页眉  
  41.     If ActiveWindow.View.SplitSpecial <> wdPaneNone Then  
  42.        ActiveWindow.Panes(2).Close  
  43.     End If  
  44.     If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow.ActivePane.View.Type = wdOutlineView Then  
  45.        ActiveWindow.ActivePane.View.Type = wdPrintView  
  46.     End If  
  47.     ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader  
  48.     Selection.TypeText Text:="办公室常用工具"  
  49.     ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument  
  50.       
  51.     '隐藏页眉的横线  
  52.     WordApp.ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Borders(wdBorderBottom).Visible = False  
  53.       
  54.     '取得页眉的内容  
  55.     Debug.Print WordApp.ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage).Range.Text  '获取WORD第一节的页眉的文字内容  
  56.       
  57.       
  58.     '设置页脚  
  59.     If ActiveWindow.View.SplitSpecial <> wdPaneNone Then  
  60.        ActiveWindow.Panes(2).Close  
  61.     End If  
  62.     If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow.ActivePane.View.Type = wdOutlineView Then  
  63.        ActiveWindow.ActivePane.View.Type = wdPrintView  
  64.     End If  
  65.     ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader  
  66.     If Selection.HeaderFooter.IsHeader = True Then  
  67.        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter  
  68.     Else  
  69.        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader  
  70.     End If  
  71.     Selection.TypeText Text:="2013年" '设置页脚  
  72.     Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldNumPages  
  73.     ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument  
  74.       
  75.     ActiveDocument.SaveAs "c:\MyWord.doc" '保存最后生成的word文档  
  76.           
  77. Errhandler:  
  78.     Exit Sub  
  79. End Sub  
  80.   
  81. Private Sub Form_Unload(Cancel As Integer)  
  82.     On Error Resume Next  
  83.     WordApp.Quit  
  84.     Set WordApp = Nothing  
  85. 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 = "MS Office 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.     If Documents.Count >= 1 Then  
  14.        Text1.Text = "打开的Word文件是:" & ActiveDocument.Name & vbCrLf & vbCrLf  
  15.     End If  
  16.     WordApp.Visible = True '显示 Office Word 界面  
  17.     '或者Application.Visible = True  
  18.     WordApp.DisplayAlerts = False '不提示保存对话框  
  19.       
  20.     WordApp.Selection.EndKey unit:=wdStory  '将光标移到文档末尾  
  21.     WordApp.Selection.Font.Bold = 1  
  22.     WordApp.Selection.Font.Name = "黑体"  
  23.     WordApp.Selection.Font.Size = 18  
  24.     WordApp.Selection.TypeText Text:="在Word文件中插入文本框对象"  
  25.     WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter '居中显示  
  26.           
  27.     '创建文本框对象,座标(100,100),宽度200,高度200  
  28.     With ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 400, 300).Fill  
  29.          '.Transparency = 1 '设置透明色  
  30.          .ForeColor = vbRed '设置前景颜色  
  31.          .UserPicture ("F:\资料\My Pictures\758254_960x1000_0.jpg"'设置文本框对象的背景图片  
  32.     End With  
  33.     ActiveDocument.Shapes(1).TextFrame.TextRange.Text = "这是一个美女" '给文本框赋值  
  34.     'ActiveDocument.Shapes(1).Line.Transparency = 1 '设置透明边框线条  
  35.       
  36.     '再创建一个透明背景的文本框对象  
  37.     With ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 400, 400, 300).Fill  
  38.          .Transparency = 1 '设置透明色背景  
  39.          .ForeColor = vbRed '设置前景颜色  
  40.     End With  
  41.     ActiveDocument.Shapes(2).TextFrame.TextRange.Text = "这是一个透明背景的文本框" '给文本框赋值  
  42.     'ActiveDocument.Shapes(2).Line.Transparency = 1 '设置透明边框线条  
  43.       
  44.     '下面是获取文本框对象的内容  
  45.     Dim i As Long      
  46.     For i = 1 To ActiveDocument.Shapes.Count  
  47.         Text1.Text = Text1.Text & ("第" & i & "个文本框的内容:" & ActiveDocument.Shapes(i).TextFrame.TextRange.Text & vbCrLf)  
  48.     Next  
  49.       
  50.     ActiveDocument.SaveAs "c:\MyWord.doc" '保存最后生成的word文档  
  51.       
  52. Errhandler:  
  53.     Exit Sub  
  54. End Sub  
  55.   
  56. Private Sub Form_Unload(Cancel As Integer)  
  57.     On Error Resume Next  
  58.     WordApp.Quit  
  59.     Set WordApp = Nothing  
  60. End Sub  


        效果图如下:

 

        3、在Word文档中设置Excel风格的页码

  1. '先引用Microsoft Word 11.0 Object Library  
  2. Option Explicit  
  3.   
  4. Dim WordApp As Word.Application '创建Word应用程序  
  5. Dim WordDoc As Word.Document    '创建Word文档对象  
  6.   
  7. Private Sub Command1_Click()  
  8.     Dim i As Long  
  9.     On Error GoTo Errhandler  
  10.     CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"  
  11.     CommonDialog1.FilterIndex = 1  
  12.     CommonDialog1.ShowOpen  
  13.     Set WordApp = New Word.Application '实例化  
  14.     Set WordDoc = WordApp.Documents.Open(CommonDialog1.FileName) '选择并打开Word文件  
  15.     WordApp.Visible = True '显示 Office Word 界面  
  16.     '或者Application.Visible = True  
  17.     WordApp.DisplayAlerts = False '不提示保存对话框  
  18.       
  19.     '设置Word文档第一页页码  
  20.     Dim WordRange As Range  
  21.     Set WordRange = WordApp.ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range  
  22.            
  23.     With WordRange  
  24.          .InsertAfter "第"  
  25.          .Font.Size = 14  
  26.          .Collapse Direction:=wdCollapseEnd  
  27.       
  28.          '插入页码域  
  29.          .Fields.Add Range:=WordRange, Type:=wdFieldEmpty, Text:="PAGE  \* Arabic ", PreserveFormatting:=True  
  30.          .Expand unit:=wdWord  
  31.          .InsertAfter "页 "  
  32.       
  33.          .InsertAfter "共"  
  34.          .Collapse Direction:=wdCollapseEnd  
  35.        
  36.          '插入页数域  
  37.          .Fields.Add Range:=WordRange, Type:=wdFieldEmpty, Text:="NUMPAGES  \* Arabic ", PreserveFormatting:=True  
  38.          .Expand unit:=wdWord  
  39.          .InsertAfter "页"  
  40.   
  41.          .InsertAfter "【我的Word文件 作者:ChenJL1031(东方之珠)】"  
  42.          .ParagraphFormat.Alignment = wdAlignParagraphRight '右对齐  
  43.     End With  
  44.       
  45.     'Text1.Text = WordApp.ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage).Range.Text  
  46.       
  47.     Set WordRange = Nothing  
  48.     ActiveDocument.SaveAs "c:\MyWord.doc" '保存最后生成的word文档  
  49.           
  50. Errhandler:  
  51.     Exit Sub  
  52. End Sub  
  53.   
  54. Private Sub Form_Unload(Cancel As Integer)  
  55.     On Error Resume Next  
  56.     WordApp.Quit  
  57.     Set WordApp = Nothing  
  58. End Sub  


        效果图如下:

分享到:
评论
1 楼 lshhjxlj 2016-12-19  
感谢楼主分享,谢谢啦!

相关推荐

    通过VB控制WORD文档

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

    vb开发的读写word文档

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

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

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

    vb控制word实例2.doc

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

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

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

    VB创建word文件

    具体而言,使用VB创建Word文档的步骤大致可以分为以下几个步骤: 1. 引入Word对象库:在VB项目中,首先需要引入Microsoft Word对象库,这样才能在代码中使用Word的对象、属性和方法。 2. 创建Word应用程序实例:...

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

    以上是VB控制Word的基本操作,通过源代码可以实现更复杂的自动化流程,例如批量处理文档、合并多个文档、查找替换、邮件合并等。在提供的"vba-word1"文件中,可能包含了这些高级功能的示例代码,读者可以进一步学习...

    怎样在VB中控制WORD.pdf

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

    怎样在VB中控制WORD

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

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

    【VB自动生成WORD报告源码+实例】是一个关于利用Visual Basic (VB)编程语言来自动化创建Microsoft Word文档的教程。这个资源包包含了源代码、示例文档和一个可执行程序,帮助开发者理解如何通过VB与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自动化技术,这使得开发者可以通过编程方式控制Word应用程序,创建、编辑、格式化和处理Word文档。以下是一些关键知识点: 1. **对象模型**:VB中...

    vb 读写WORD复杂表格

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

    VB 嵌入Word对象

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

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

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

    VB自动排版并生成Word文档

    在该网站上,你可能可以找到更具体的VB自动排版和生成Word文档的实例代码,以便于学习和参考。 总的来说,VB自动排版并生成Word文档是一项实用的技能,尤其对于需要大量文档处理的工作场景。通过熟练掌握VB和Office...

Global site tag (gtag.js) - Google Analytics