我想创建一个在Word文档中搜索所有超链接的宏。如果可见文本以http开头,那么我想删除链接(保留文本)。
示例:如果我的word文档中包含以下2个链接,则第一个链接将取消链接,但第二个链接将保留其链接。
我不知道如何从Field元素中提取文本值以便我可以进行比较。这就是我的宏目前的样子:
Sub RemoveHyperlinks()
Dim oField As Field
For Each oField In ActiveDocument.Fields
If oField.Type = wdFieldHyperlink Then
'If the text of oField begins with "http" then unlink
oField.Unlink
End If
Next
Set oField = Nothing
End Sub
答案 0 :(得分:2)
您可以使用Result
属性获取字段的显示值:
Sub RemoveHyperlinks()
Dim oField As Field
For Each oField In ActiveDocument.Fields
If oField.Type = wdFieldHyperlink Then
If Left(oField.Result, 4) = "http" then
oField.Unlink
End If
End If
Next
Set oField = Nothing
End Sub