首页 > 解决方案 > 如何搜索完全粗体的段落?

问题描述

我需要能够找到完全粗体的段落(例如副标题),但我一直在努力弄清楚或在网上找到很多帮助。我见过类似的问题,但回答太复杂了,我无法真正知道我在复制什么,尽管我尝试使用看起来相关的部分。

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

到目前为止,这是我的代码,使用 MsgBox 作为我的快速简单测试,以查看搜索是否正常:

Dim para As Paragraph

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

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

标签: vbams-word

解决方案


由于您的代码没有选择任何Selection.Font.Bold与循环中的任何内容无关的内容。通过简单地更改Selectionpara.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 属性简单地访问以下段落。

如果标题已使用样式格式化,您只需查找该样式的所有实例即可找到它们。


推荐阅读