Доброе утро!
Столкнулся с такой проблемой: Microsoft Word делает сквозную нумерацию пунктов в списках, если вставлять новые куски текста со своими списками в уже существующий текст.
Необходимо сделать так, чтобы все списки начинались со своего первого значения ( "1)" ).
Написал макрос, который задаёт команду "начать заново с 1" для каждого параграфа, написанного в стиле списка ("е) Список-цифры"), но он почему-то не работает:
Sub bb1()
Dim p As Paragraph
For Each p In ActiveDocument.Paragraphs
If p.Style Like "е) Список-цифры" Then
With p.Range
With ListGalleries(wdNumberGallery).ListTemplates(1).ListLevels(1)
.NumberFormat = "%1)"
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints(1.25)
.Alignment = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints(1.89)
.TabPosition = wdUndefined
.ResetOnHigher = 0
.StartAt = 1
With .Font
.Bold = False
.Italic = False
.StrikeThrough = False
.Subscript = False
.Superscript = False
.Shadow = False
.Outline = False
.Emboss = False
.Engrave = False
.AllCaps = False
.Hidden = False
.Underline = wdUnderlineNone
.Color = wdUndefined
.Size = wdUndefined
.Animation = wdUndefined
.DoubleStrikeThrough = False
.Name = ""
End With
.LinkedStyle = "е) Список-цифры"
End With
ListGalleries(wdNumberGallery).ListTemplates(1).Name = ""
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
ListGalleries(wdNumberGallery).ListTemplates(1), ContinuePreviousList:= _
False, ApplyTo:=wdListApplyToWholeList, DefaultListBehavior:= _
wdWord10ListBehavior
End With
End If
Next
End Sub
Думаю, он считает каждый пункт списка новым парафом и пускает команду "начать заново с 1" на каждом пункте, а нужно, чтобы он это делал один раз для каждого списка.
Не могли бы Вы подсказать, как можно реализовать подобную задачу? Буду Вам очень благодарен!
Прикладываю исходный файл (Исходный текст) и тот, который нужно получить (Конечный текст).