我需要能够找到完全粗体的段落(例如副标题),但是我一直在努力寻找答案或在网上找到很多帮助。我曾见过类似的问题,但尽管尝试使用看起来相关的部分,但回答却过于复杂,以至于我无法真正知道要复制的内容。
我的最终目标是找到一个粗体的段落后,删除紧随其后的字符(通常为空行)。
到目前为止,这是我的代码,使用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出现。
答案 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属性即可访问以下段落。
如果标题是使用一种样式设置的格式,则只需查找该样式的所有实例即可找到它们。