本帖最后由 gemj 于 2022-6-12 23:10 编辑
问题: 附件的文档中,有很多加了底纹的文字(通过 段落-边框和底纹-底纹 设置的文字底纹),底纹颜色各异。 现在想把这些底纹都找出来,并且高亮显示。 守柔版主曾写过批量提取段落底纹的代码,但无法直接在这里引用。那是对整个段落都有底纹的情况,处理思路,就是遍历段落。现在,我们是要处理段落中一部分文字的底纹。 下面代码,是借用论坛里遍历文档字符的办法,勉强实现了: - Sub FindAllShadings查找标注所有底纹文字()
- Application.ScreenUpdating = False
- On Error Resume Next
- Dim Doc As Document, nr As Range
- Set Doc = Word.ActiveDocument
- For i = 0 To Doc.Range.End + 1
- Set nr = ActiveDocument.Range(i, i + 1)
- If nr.Shading.BackgroundPatternColor <> wdColorAutomatic Then
- nr.HighlightColorIndex = wdYellow
- End If
- Next
- Application.ScreenUpdating = True
- End Sub
复制代码
但问题是,这样处理,效率就太低了,一本书,如果有几十万字,这个代码实际上是不可行的。 请教大神们,如何改进代码,高效实现啊? 万分感谢啦!
|