如何搜索完全粗体的段落?

时间:2019-10-30 12:20:28

标签: vba ms-word word-vba

我需要能够找到完全粗体的段落(例如副标题),但是我一直在努力寻找答案或在网上找到很多帮助。我曾见过类似的问题,但尽管尝试使用看起来相关的部分,但回答却过于复杂,以至于我无法真正知道要复制的内容。

我的最终目标是找到一个粗体的段落后,删除紧随其后的字符(通常为空行)。

到目前为止,这是我的代码,使用MsgBox作为我的快速便捷测试,以查看搜索是否正确运行:

Dim para As Paragraph

For Each para In ActiveDocument.Paragraphs
    If Selection.Font.Bond = True Then MsgBox "All Bold"
    Else: Next para

此宏的作用是为文档中的每个段落显示一个MsgBox,并说“ All Bold”(例如,如果有50个段落,它将使MsgBox出现50次),而不是检查每个段落然后显示一个如果是完全粗体,则为MsgBox。理想情况下,在我的大约50段的实际文档中,只有3个标题会提示MsgBox出现。

1 个答案:

答案 0 :(得分:1)

由于您的代码未选择任何内容Selection.Font.Bold与循环中的任何内容均不相关。只需将Selection更改为para.Range,您将仅找到所需的段落。

Dim para As Paragraph

For Each para In ActiveDocument.Paragraphs
    If para.Range.Font.Bold = True Then para.Next.Range.Delete
Next para

只需使用Next属性即可访问以下段落。

如果标题是使用一种样式设置的格式,则只需查找该样式的所有实例即可找到它们。