vba - 在整个文档中进行选择
问题描述
在文件 MS WORD 中,我希望选择一个“/”并将所有字符加粗,直到以下 ^p。以下代码仅适用于第一次出现。在文件中我有很多次出现,我无法在整个文件中应用它。我用“for...next”和其他人尝试了几次,不幸的是没有成功。
非常感谢您的帮助!詹卢卡
Sub bold_title()
Set myRange = ActiveDocument.Content
Selection.Find.ClearFormatting
With Selection.Find
.Text = "/"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.Extend
Selection.Find.ClearFormatting
With Selection.Find
.Text = "^p"
.Forward = True
.Wrap = wdFindAsk
.Format = False
End With
Selection.Find.Execute
Selection.Font.Bold = True
End Sub
解决方案
诀窍是“折叠” Selection
- 把它想象成按下右箭头键 - 以便下一个搜索在“找到”文本之后开始:
Selection.Collapse wdCollapseEnd
通常,使用Do While...Loop
构造来重复Find
直到文档结束。如果您在 Internet 上的此处和其他地方搜索,您会发现很多很多示例。
为了使它成功工作,请确保您设置Wrap
为wdFindStop
(而不是wdFindContinue
当前显示的代码中的那样)。
推荐阅读
- python - 如何在列表列表中查找字符?
- reactjs - 从 Symfony 表单迁移到通过 AJAX 请求填充的客户端生成表单的想法
- python - 我在解析这个 json 文件时遇到了困难
- python - mysql 连接不能很好地与 python 中的 concurrent.futures 一起使用
- c# - 强制创建列表
- javascript - Joi 自定义错误消息有效,但无法正确显示消息
- mysql - 如何在sql中用0消除NULL
- javascript - 通过 webgl 加载 PNG 图像并不完美
- oracle - to_date(:PARAMETER, 'DD/MM/YYYY') 和 to_date('20/11/2019', 'DD/MM/YYYY') 的性能差异
- android-studio - 从后台服务访问当前 SharedPreferences 数据