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 说“全部粗体”(例如,如果有 50 个段落,它会使 MsgBox 上升 50 次),而不是检查每个段落然后调出一个 MsgBox 如果它是完全大胆。理想情况下,在我大约 50 段的实际文档中,只有 3 个标题会提示 MsgBox 出现。
解决方案
由于您的代码没有选择任何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 属性简单地访问以下段落。
如果标题已使用样式格式化,您只需查找该样式的所有实例即可找到它们。
推荐阅读
- twitter - Twitter OAuth 1.0 "215 Bad Authentication Data" error when requesting token
- python - Class weights for multi-output classification
- javascript - Sequelize Create/Post with M:N
- camunda - Camunda A/B Testing
- python - class_weight = 'balanced' 等价于朴素贝叶斯
- python - How to read several web pages without closing url link
- c++ - 为什么使用“使用”导入构造函数会导致选择不同的重载?
- visual-studio-code - Visual Studio 代码 Intellisense 不适用于 NPM 包
- android - 如何在android中打开应用程序时停止显示推送通知?
- regex - 如何使用正则表达式从主机名中提取 ansible 数字而没有一个特定的