Word VBA - 在 hyperlinks 中格式化和重新 link 脚注和尾注
Word VBA - format and re-link footnotes and endnotes in hyperlinks
我需要在我编写的宏中找到脚注和尾注标记(在正文中,对它们进行格式化并重新link)等,以清理从网络导入的文档。
我的宏工作正常,除了,其中部分查找字符串是 hyperlink 显示文本,部分不是。
搜索 ([a-z])([0-9])
(定位正文中的尾注标记,因为它们未被格式化为尾注)找不到它们,因为 [0-9]
是 hyperlink 显示文本和 [a-z]
不是。
- 我的问题是:如何搜索 与[hyperlink 显示文本字符串] 相邻的[普通字符串]?
- 如果找到,下一步是如何替换 hyperlink 显示文本(格式化尾注上标,删除 para 标记)将其保留在 hyperlink 中(我可以处理) - 也许是另一个问题的主题?)
当然,您可以简单地将超链接转换为上标数字,然后使用任何其他代码将上标数字替换为尾注。
Sub Demo()
Dim h As Long
With ActiveDocument
For h = .Hyperlinks.Count To 1 Step -1
With .Hyperlinks(h)
If IsNumeric(.TextToDisplay) = True Then
With .Range
If .Characters.First.Previous Like "[a-z]" Then
.Fields.Unlink
.Font.Reset
.Font.Superscript = True
End If
End With
End If
End With
Next
End With
End Sub
根据您的操作,您可以简单地将尾注代码插入到内部 If ... End If 结构中以代替字体操作。
我需要在我编写的宏中找到脚注和尾注标记(在正文中,对它们进行格式化并重新link)等,以清理从网络导入的文档。
我的宏工作正常,除了,其中部分查找字符串是 hyperlink 显示文本,部分不是。
搜索 ([a-z])([0-9])
(定位正文中的尾注标记,因为它们未被格式化为尾注)找不到它们,因为 [0-9]
是 hyperlink 显示文本和 [a-z]
不是。
- 我的问题是:如何搜索 与[hyperlink 显示文本字符串] 相邻的[普通字符串]?
- 如果找到,下一步是如何替换 hyperlink 显示文本(格式化尾注上标,删除 para 标记)将其保留在 hyperlink 中(我可以处理) - 也许是另一个问题的主题?)
当然,您可以简单地将超链接转换为上标数字,然后使用任何其他代码将上标数字替换为尾注。
Sub Demo()
Dim h As Long
With ActiveDocument
For h = .Hyperlinks.Count To 1 Step -1
With .Hyperlinks(h)
If IsNumeric(.TextToDisplay) = True Then
With .Range
If .Characters.First.Previous Like "[a-z]" Then
.Fields.Unlink
.Font.Reset
.Font.Superscript = True
End If
End With
End If
End With
Next
End With
End Sub
根据您的操作,您可以简单地将尾注代码插入到内部 If ... End If 结构中以代替字体操作。