将字段与网址

时间:2016-07-22 14:28:42

标签: vba ms-word

目前我正在构建一个Word文档,该文档由来自第三方的自定义字段填充,并附有实际数据。

填写文件的过程如下:

  
      
  1. 来自第三方程序生成文档 - > 2. Word打开,我可以执行   我的VBA代码 - > 3.文件再次关闭 - > 4.文件打开并正在进行中   填写第三方程序的数据 - > 5.文档导出到Outlook。
  2.   

到目前为止这个工作正常,我可以用VBA代码模仿第三方他们的Word字段。

现在我想使用一些这样的数据来生成一个唯一的URL。该网址如下所示:http://example.com?q1=field1&q2=field2(在此示例中,文档中唯一的内容也是如此)。

我现在要做的是更换' field1'或者' field2'与实际必要的Word字段(动态)。这似乎不适用于URL(单独工作)。代码将在过程的第二部分执行。

要用字段替换某些标签我使用下面的代码,我希望它也适用于URL,但似乎并非如此。

item would have as input:
item(0) = "field1" - tag name, 
item(1) = "Example" - First part of the field, 
item(2) = "<<contract_example>>" - Second part of the field

Private Sub TranslateItem(item() As String)
    Selection.HomeKey wdStory 
    Selection.find.Text = item(0) 
    Dim holder As Boolean
    holder = True
    Do While holder
        Dim tempholder As Boolean
        tempholder = Selection.find.Execute
        If tempholder Then
            Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=item(1) & item(2), PreserveFormatting:=False 'add field
        Else
            holder = False
        End If
    Loop
End Sub

此代码似乎不会替换URL的实际部分,而只替换文本。我遇到了关于如何编辑网址的这个(How to programmatically edit all hyperlinks in a Word document?)链接,但我不知道如何搜索和替换标记并在该示例中添加字段。

1 个答案:

答案 0 :(得分:3)

您可以迭代文档中的所有超链接,然后根据需要修改其属性:

{{1}}