反向编号列表(Microsoft Word)
Word包括一个内置的编号列表功能,您可以使用该功能快速开发列表。这对于以升序排列(1到10)的列表非常有用,但对于想要以降序排列(10到1)的列表则不太好。
如果您需要反向列表,则Word中没有自动功能可让您创建它们。解决此问题的一种方法是简单地创建您自己的列表编号,并将其按所需顺序排列。问题在于该过程是手动密集的。此外,如果在现有列表项的末尾按Enter,则Word的常规编号列表功能可能会对反向列表造成严重破坏。
处理这种情况的另一种方法是在列表中的每个项目之前加上SEQ字段以生成列表项目的编号。完成列表项后,您可以更新字段并以降序对段落进行排序。这种方法的明显缺点是您需要以相反的顺序输入初始列表,因为最终排序将为您进行排序。因此,如果您有10个项目,则应首先输入数字10,然后输入数字9,依此类推。当您进行排序时,项目的顺序将颠倒,并且每个项目都将以其最终顺序结束。
这样做的另一个缺点是,将项目添加到列表变得很麻烦,并且如果您更新文档中的字段,则数字将被完全删除。因此,必须找到一种更令人满意的方法。
一种方法是修改SEQ字段,使其更适当地显示段落的预期顺序。可以通过以下方式使用复合字段作为列表编号:
{=NP — {SEQ RevList}}
在这种情况下,字符NP必须替换为比最终列表中的项目数大一的数字。因此,如果您的列表包含25个项目,则NP将为26。SEQ字段用于生成从NP减去数字的升序,以给出最终的逆序编号。
只要您知道列表中的段落(项目)数,并且记得将字段放在每个段落的开头,您的状态就很好。如果您忘记了其中一个,则可以取消列表。为了解决这个问题,宏可以派上用场。下面的宏(RevList和DoList)可以解决问题。
Sub RevList() Dim ShowFlag As Boolean Dim Numparas As Integer Dim Counter As Integer Numparas = Selection.Paragraphs.Count Selection.MoveLeft Unit:=wdCharacter, Count:=1 ShowFlag = ActiveWindow.View.ShowFieldCodes ActiveWindow.View.ShowFieldCodes = True DoList Numparas Counter = 1 While Counter < Numparas Selection.Move Unit:=wdParagraph, Count:=1 DoList Numparas Counter = Counter + 1 Wend ActiveWindow.View.ShowFieldCodes = ShowFlag ActiveDocument.Select ActiveDocument.Fields.Update End Sub
Private Sub DoList(Cnt As Integer) Selection.Extend Selection.MoveRight Unit:=wdCharacter, Count:=1 If InStr(Selection.Text, "SEQ") > 0 Then Selection.MoveRight Unit:=wdCharacter, Count:=2 Selection.Delete Unit:=wdCharacter, Count:=1 Else Selection.Collapse Direction:=wdCollapseStart End If Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _ PreserveFormatting:=False Selection.TypeText Text:="=" & Cnt + 1 & "-" Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _ PreserveFormatting:=False Selection.TypeText Text:="SEQ RevList" With Selection.ParagraphFormat .LeftIndent = InchesToPoints(0.5) .FirstLineIndent = InchesToPoints(-0.5) End With Selection.MoveRight Unit:=wdCharacter, Count:=4 Selection.InsertAfter "." & vbTab End Sub
要使用宏,只需选择要包含在列表中的段落,然后运行RevList,后者使用DoList。适当的字段放在每个段落的开头(删除已经存在的任何字段),并对这些段落应用悬挂的缩进。
如果要修改悬挂缩进的创建方式,只需更改DoList宏中设置LeftIndent和FirstLineIndent属性的行。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。