欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Word VBA如何间隔选中多个(非连续)段落

Word VBA如何间隔选中多个(非连续)段落

2025/4/24 5:20:07 来源:https://blog.csdn.net/taller_2000/article/details/143766843  浏览:    关键词:Word VBA如何间隔选中多个(非连续)段落

实例需求:Word文档中的有多个段落,段落总数量不确定,现在需要先选中所有基数段落,即:段落1,段落3 … ,然后一次性设置粗体格式。

在这里插入图片描述

也许有的读者会认为这个无厘头的需求,循环遍历遍历文档中的段落,设置奇数段落的格式就可以了,确实如此,这是常规实现思路。

但是存在的即是合理的,借助Editor对象,可以完美实现这个需求。

示例代码如下。

Sub SelectMultiParagrpah()Dim i As Long, iCnt As Long, oDoc As RangeWith Selection.HomeKey Unit:=wdStory, Extend:=wdMoveiCnt = ActiveDocument.Paragraphs.CountFor i = 1 To iCnt Step 2.Expand wdParagraph .Editors.Add Word.WdEditorType.wdEditorCurrent .Move wdParagraph, 2 Next iEnd WithSet oDoc = ActiveDocument.ContentWith oDoc.GoToEditableRange(wdEditorCurrent).Editors(1).SelectAll .DeleteAll  End WithSelection.Font.Bold = True
End Sub

【代码解析】
第4行代码将Selection对象移至文档起始位置。
第5行代码获取文档的段落数量。
第6~10行代码循环选中奇数段落。
第7行代码选中当前段落,即扩展选区范围。
第8行代码添加当前用户的可编辑区域。
第9行代码将Selection移动到下一个目标段落起始位置。
第12行代码获取文档全部内容。
第14行代码选中全部可以编辑范围。
第15行代码删除当前用户的编辑权限设置。
第17行代码设置选中段落的字体为粗体格式。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词