zoukankan      html  css  js  c++  java
  • 通过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当中的批量标签就被替换掉了。

  • 相关阅读:
    【SAS NOTE】OUTPUT
    【SAS NOTES】_NULL_
    【SAS NOTE】sas 9.2 安装
    【SAS NOTE】FREQ
    纯数学教程 Page 203 例XLI (1)
    纯数学教程 Page 203 例XLI (3)
    纯数学教程 Page 203 例XLI (2)
    Prove Cauchy's inequality by induction
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
  • 原文地址:https://www.cnblogs.com/gxgd/p/9305771.html
Copyright © 2011-2022 走看看