目前我正在构建一个Word文档,该文档由来自第三方的自定义字段填充,并附有实际数据。
填写文件的过程如下:
- 来自第三方程序生成文档 - > 2. Word打开,我可以执行 我的VBA代码 - > 3.文件再次关闭 - > 4.文件打开并正在进行中 填写第三方程序的数据 - > 5.文档导出到Outlook。
醇>
到目前为止这个工作正常,我可以用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?)链接,但我不知道如何搜索和替换标记并在该示例中添加字段。
答案 0 :(得分:3)
您可以迭代文档中的所有超链接,然后根据需要修改其属性:
{{1}}