Returns the number of bulleted or numbered items and LISTNUM fields in the specified Document, List, or ListFormat object.
expression.CountNumberedItems(NumberType, Level)
expression Required. An expression that returns one of the objects in the Applies To list.
NumberType Optional Variant. The type of numbers to be counted. Can be one of the following WdNumberType constants: wdNumberParagraph, wdNumberListNum, or wdNumberAllNumbers. The default value is wdNumberAllNumbers.
Level Optional Variant. A number that corresponds to the numbering level you want to count. If this argument is omitted, all levels are counted.
Remarks
Bulleted items are counted when either wdNumberParagraph or wdNumberAllNumbers (the default) is specified for NumberType.
There are two types of numbers: preset numbers (wdNumberParagraph), which you can add to paragraphs by selecting a template in the Bullets and Numbering dialog box; and LISTNUM fields (wdNumberListNum), which allow you to add more than one number per paragraph.
Example
As applies to the ListFormat object.
This example formats the current selection as a list, using the second numbered list template. The example then counts the numbered and bulleted items and LISTNUM fields in the active document and displays the result in a message box.
Selection.Range.ListFormat.ApplyListTemplate _
ListTemplate:=ListGalleries(wdNumberGallery).ListTemplates(2)
Msgbox ActiveDocument.CountNumberedItems
This example counts the number of first-level numbered or bulleted items in the active document.
Msgbox ActiveDocument.Content.ListFormat _
.CountNumberedItems(Level:=1)
This example counts the number of LISTNUM fields in the variable myRange
. The result is displayed in a message box.
Set myDoc = ActiveDocument
Set myRange = _
myDoc.Range(Start:=myDoc.Paragraphs(12).Range.Start, _
End:=myDoc.Paragraphs(50).Range.End)
numfields = myRange.ListFormat.CountNumberedItems(wdNumberListNum)
Msgbox numfields
As applies to the List object.
This example displays a message box that reports the number of items in each list in MyLetter.
i = 1
Set myDoc = Documents("MyLetter.doc")
For Each li In myDoc.Lists
Msgbox "List " & i & " has " _
& li.CountNumberedItems & " items."
i = i + 1
Next li