首页 > 解决方案 > Word 2019 VBA 问题,带有格式更改的重复超链接和副本上的 URL 更改

问题描述

嗨 :) 我对 Word 很陌生。

我正在寻找一种 VBA 方式来解决这个问题:

https://www.google.com

https://www.google.com 镜子

每个超链接 ( https://mirror.something.com/ )的 URL 的镜像部分都是固定的

这适用于 Word 文档中的每个链接(包括尾注/脚注),但不包括地址中带有特定字符串的一些超链接。比如像。

https://www.bing.com包含 bing.com,应保持不变。

谁能启发我?

谢谢!!

蒂亚

标签: vbams-word

解决方案


例如:

Sub Demo()
Application.ScreenUpdating = False
Dim Stry As Range, h As Long, Rng As Range
Dim StrLnk As String, StrTxt As String
For Each Stry In ActiveDocument.StoryRanges
  For h = Stry.Hyperlinks.Count To 1 Step -1
    StrLnk = Stry.Hyperlinks(h).Address
    StrTxt = LCase(Split(StrLnk, ".")(1))
    Select Case StrTxt
      Case "bing"
      Case "something": h = h - 1
      Case Else
        Set Rng = Stry.Hyperlinks(h).Range
        With Rng
          .Characters.Last.Next.InsertBefore " "
          .End = .End + 1
          .Collapse wdCollapseEnd
          .Hyperlinks.Add .Duplicate, "https://mirror.something.com/" & StrLnk, , , "Mirror"
          .End = .End + 1
          .End = .Fields(1).Result.End
          .Font.Superscript = True
        End With
    End Select
  Next
Next
Application.ScreenUpdating = True
End Sub

PS:StackOverflow 不是免费的编码服务。您通常应该表明您已经投入了自己的一些编码工作。


推荐阅读