实例需求: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行代码设置选中段落的字体为粗体格式。