Word 2019 VBA 问题,具有格式更改的重复超链接和 URL 对副本的更改
Word 2019 VBA question, Duplicate hyperlink with format change and URL change on the duplicate
嗨 :) 我是 Word 新手。
我正在寻找一个 VBA 的方法:
到
每个 Hyperlink (https://mirror.something.com/)
URL 的镜像部分是固定的
这适用于 Word 文档中的每个 link(包括 endnotes/footnotes),但不包括地址中具有特定字符串的一些 Hyperlink。比如说。
https://www.bing.com 包含 bing.com 并且应该保持不变。
谁能教教我?
谢谢!!
蒂亚
例如:
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:Whosebug 不是免费的编码服务。您通常应该表明自己已经投入了一些编码工作。
嗨 :) 我是 Word 新手。
我正在寻找一个 VBA 的方法:
到
每个 Hyperlink (https://mirror.something.com/)
URL 的镜像部分是固定的这适用于 Word 文档中的每个 link(包括 endnotes/footnotes),但不包括地址中具有特定字符串的一些 Hyperlink。比如说。
https://www.bing.com 包含 bing.com 并且应该保持不变。
谁能教教我?
谢谢!!
蒂亚
例如:
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:Whosebug 不是免费的编码服务。您通常应该表明自己已经投入了一些编码工作。