Tim在Word文档中有一个项目列表。每个项目都在其自己的段落中(在最后输入),而不是在表格中。其中一些项目(段落)已突出显示。蒂姆想知道是否有一种方法可以对段落进行排序,以便突出显示的段落在一起。换句话说,他需要按突出显示进行排序作为主要排序键。

Word可以按多种方式排序,但通过突出显示排序不是其中之一。但是,“查找和替换”可以搜索突出显示。一种方法是使用“查找和替换”为每个突出显示的段落添加一个唯一关键字的前缀,再次运行“查找和替换”以另一个关键字突出显示未突出显示的段落的前缀,然后使用第一个单词作为第一个键对文档进行排序,以便突出显示段落在一起。然后运行“查找和替换”以删除两个特殊关键字。显然,此方法设置起来很棘手,需要几个步骤。

另一种方法是仅对所有段落进行排序,而不考虑突出显示。完成后,您可以使用宏将突出显示的段落移动到文档的开头。突出显示的段落将按照它们在文档中的排序顺序显示。

Sub MoveHighlightedParas()

Dim paraMax As Long     Dim paraStart As Long     Dim j As Long     Dim r As Range

With ActiveDocument         paraMax = .Paragraphs.Count         paraStart = 0         j = paraMax         Do While j > paraStart             If .Paragraphs(j).Range.HighlightColorIndex <> wdNoHighlight Then                 .Paragraphs(j).Range.Cut                 Set r = .Content                 r.Collapse                 r.Paste                 paraStart = paraStart + 1             Else                 j = j - 1             End If         Loop     End With End Sub

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13272)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。