首页 > 解决方案 > MS Word 宏解析位于超链接地址中固定位置的字符串,并将字符串用作该超链接的 TextToDisplay

问题描述

我正在生成带有一系列超链接的参考书目,我想从超链接末尾解析一个字符串以用作 TextToDisplay。

这是一个示例超链接: https ://www.ncbi.nlm.nih.gov/pmc/articles/PMC#######

我希望 TextToDisplay 等于 PMC#######

这个长度为 10 的字符串将始终是 PMC + 7 位唯一标识每个引用的数字;它将始终从位置 43 开始。

我在这个站点上找到了创建通用 TextToDisplay 链接的代码,但在这种情况下,我需要为每个唯一链接创建一个动态 TextToDisplay。这是通用转换的代码:

Public Sub ChangeHyperlinksText()

    Dim hlink As Hyperlink

    For Each hlink In ActiveDocument.Hyperlinks
        hlink.TextToDisplay = "Link"
    Next hlink

End Sub

是否可以根据每个超链接添加特定的 TextToDisplay?

感谢你的协助。

标签: vbams-wordhyperlink

解决方案


是的,这很简单。

Public Sub ChangeHyperlinksText()
  Dim hlink As Hyperlink
  For Each hlink In ActiveDocument.Hyperlinks
    hlink.TextToDisplay = Right(hlink.Address, 10)
  Next hlink
End Sub

推荐阅读