通过vba实现对word当中个的标签进行批量的替换

Posted gxg123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过vba实现对word当中个的标签进行批量的替换相关的知识,希望对你有一定的参考价值。

最近在做的项目,要实现自动生成合同,然后想通过vba进行对合同(word版)中的相同的地方进行批量的替换。

于是就通过标签的形式对word文档当中的字段进行替换操作。代码如下:

Public Function updatebookmarkloop(app As Object, bookmarkbase As String, nvalue As Variant, bot As Long, top As Long)
    Dim counter As Long
    Dim name As String
    counter = 1
    For counter = bot To top
        name = bookmarkbase & counter 
        updatebookmark app, name, nvalue ‘这里的bot 和 top是指的整个的word中的标签。从第几个到第几个。然后整个的标签名称是通过标签和后面的循环的数字组成
‘然后通过调用下面的updatebookmark的方法进行对标签进行替换操作。 Next counter
End Function Public Function updatebookmark(app As Object, bookmarkname As String, newvalue As Variant) If app.ActiveDocument.Bookmarks.Exists(bookmarkname) Then app.ActiveDocument.Bookmarks(bookmarkname).Select app.Selection.TEXT = newvalue If newvalue = "" Then

        ‘Debug.Print "deleting bookmark"
        ‘app.ActiveDocument.Bookmarks(bookmarkname).Delete
      ‘Debug.Print "bookmark deleted"

        End If
        
    Else
     ‘Debug.Print bookmarkname & " does not exist"
    End If
   
End Function

通过一个简单的方法调用即可实现批量的标签被替换的操作,如下:

 TEXT.updatebookmarkloop wdApp, "管理人A名称", managernameA, 1, 14

对标签为“管理人A名称”的标签进行替换。总共有14个。循环进行替换。

至此,word当中的批量标签就被替换掉了。

以上是关于通过vba实现对word当中个的标签进行批量的替换的主要内容,如果未能解决你的问题,请参考以下文章

使用Office内置的VBA编辑器实现WORD文档的批量查找替换

使用Office内置的VBA编辑器实现WORD文档的批量查找替换

使用Office内置的VBA编辑器实现WORD文档的批量查找替换

用excel中的VBA,然后根据excel中单元格中内容,批量替换一个word的模板doc中的字符。字符有很多处。

Word VBA查找某种颜色的文本并在其前面插入一个空格

用vba编程将excel中的数据批量填写到word里面