计数列表(Microsoft Word)
Michele需要一种方法来计算项目符号列表或文档中编号列表的数量。她想知道如何在Word中完成此操作。
这比想象的要难一点,最重要的是我们找不到可靠地产生计数的方法。其原因可能需要一些解释。
您可以通过多种方式向文档添加样式。例如,您可以单击功能区“主页”选项卡上的“编号列表”或“项目符号列表”工具,以将当前段落转换为列表。您还可以开始键入文字,并允许Word检测(通过键入时自动套用格式)是创建编号列表还是项目符号列表。您甚至可以定义和应用样式,以指定要用作列表的样式。
不管创建列表的方式如何,Word都会将样式与列表中的段落相关联。如果您创建并应用自己的样式,那么(当然)会使用该特定样式。如果您使用工具栏按钮或依靠自动套用格式来创建列表,则Word会自动应用“列表段落”样式。 (是的,无论是编号列表还是项目符号列表,它都使用完全相同的样式。)
由于样式与列表相关联,因此您可以快速确定正在使用多少个样式实例。您需要做的就是显示“样式”任务窗格(显示功能区的“主页”选项卡,然后单击“样式”组右下角的小图标)。找到用于列表的样式,将鼠标指针悬停在该样式名称上,然后单击该名称右侧显示的向下箭头。您会看到类似以下内容之一:
-
全选:(无数据)
-
选择所有X个实例
如果您看到的与第一种格式匹配,则选择该选项。当您将鼠标悬停在样式名称上并再次单击向下箭头时,您看到的内容应与第二种格式匹配。
您可能会认为这向您显示了文档中列表的数量。没有它仅显示使用此特定样式设置的段落数。因此,如果您有一个包含6个项目的列表,则返回的样式数将为6。
因此,这种计数样式的方法不能提供可靠的方法来确定列表计数。
您可能考虑的另一种方法是使用宏来确定文档中有多少个列表。 Word维护一个Lists集合,并将其提供给VBA。您可以单步浏览文档中的每个列表并检查其ListType属性。该属性实际上可以是七个不同值之一,如以下枚举所示:
wdListBullet wdListListNumOnly wdListMixedNumbering wdListNoNumbering wdListOutlineNumbering wdListPictureBullet * wdListSimpleNumbering
您可能可以弄清楚这些列表类型分别包含哪些内容,但是它们在实际中的显示效果可能会有些困惑。例如,请考虑以下宏:
Sub CheckLists() Dim oL As List Dim sMsg As String Dim J As Integer Dim K As Integer J = ActiveDocument.Lists.Count For Each oL In ActiveDocument.Lists K = K + 1 oL.Range.Select sMsg = "This is list " & K & " of " & J sMsg = sMsg & " lists in the document." & vbCrLf & vbCrLf sMsg = sMsg & "This list is this type: " Select Case oL.Range.ListFormat.ListType Case wdListBullet sMsg = sMsg & "wdListBullet" Case wdListListNumOnly sMsg = sMsg & "wdListListNumOnly" Case wdListMixedNumbering sMsg = sMsg & "wdListMixedNumbering" Case wdListNoNumbering sMsg = sMsg & "wdListNoNumbering" Case wdListOutlineNumbering sMsg = sMsg & "wdListOutlineNumbering" Case wdListPictureBullet sMsg = sMsg & "wdListPictureBullet" Case wdListSimpleNumbering sMsg = sMsg & "wdListSimpleNumbering" End Select MsgBox sMsg Next oL End Sub
如果您有一个包含列表的文档并运行该文档,它将依次选择每个列表,并显示一个消息框,其中显示Word认为所选内容代表的列表类型。问题是,如果您的文本包含两个列表,两个列表中散布着一个或两个文本段落,则Word会将其视为wdListMixedNumbering类型的单个列表。换句话说,它不能准确地找出什么是列表,什么不是列表。尽管比使用样式计数方法更准确,但这使这种特定方法不可靠地计算文档中有多少个列表。
如开头所述,最重要的是,我们无法确定要准确计算文档中项目符号和编号列表的数量的方法。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13528)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。