Word VBA如何在超链接前后插入纯文本空格(解决后置空格格式问题)
解决超链接后置空格被纳入超链接格式的问题
核心思路
不要直接通过超链接对象的InsertAfter方法添加空格(该方法会将空格归入超链接的Range范围),而是在超链接范围之外的位置插入纯文本空格。
具体VBA代码实现
Dim oLink As Hyperlink Dim insertPosition As Long ' 遍历文档中所有超链接 For Each oLink In ActiveDocument.Hyperlinks ' 为超链接添加前置空格 oLink.Range.InsertBefore " " ' 获取超链接结束位置的下一个字符索引 insertPosition = oLink.Range.End + 1 ' 在超链接范围外插入后置空格 ActiveDocument.Range(insertPosition, insertPosition).InsertAfter " " Next oLink
代码说明
oLink.Range.End返回超链接文本最后一个字符的位置,加1后直接定位到超链接结束后的空白位置。- 通过
ActiveDocument.Range(insertPosition, insertPosition)创建空Range对象,在此位置插入的空格完全独立于超链接,不会被赋予超链接格式,后续输入也不会受影响。
内容的提问来源于stack exchange,提问作者Piecevcake
相关产品推荐
相关产品推荐

