Тема: Правка маркированных списков
Добрый день.
Подскажите, пожалуйста.
Есть документ word. Документ содержит маркированные списки. Списки разбросаны по всему документы. Есть также маркированные списки вложенные друг в друга.
Проблема в том, что часть список содержат стандартный маркер (черная точка), а некоторые заданы как квадратики, в форме круга, галочки, стрелочек.
Хотелось бы все маркированные списки привести к единому общему виду маркера (черная точка), но при этом не менять структуру их вложенности.
Найдя в интернете несколько примеров, набросал код.
Но возникло пару проблем:
1. почему-то не учитывает первый параграф в каждом маркированном списке (т.е. обработка списка начинается всегда со второго параграфа)
2. меняет только первый уровень маркированного списка (вложенные маркированные списки уже не меняет)
3. происходит сдвиг отступов в маркированном списке
Что нужно подправить в данном коде или может есть какой-то более элегантный способ решения задачи (другие методы/свойства)?
Sub TestMacro()
Dim iPR As Paragraph, iList As ListTemplate
Set iList = ListGalleries(wdBulletGallery).ListTemplates(1)
With iList.ListLevels(1)
.NumberFormat = ChrW(61623)
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleBullet
.ResetOnHigher = 0
.StartAt = 1
.Font.Name = "Symbol"
End With
For Each iPR In ActiveDocument.Paragraphs
If iPR.Range.ListFormat.ListType = wdListBullet Then
iPR.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:=iList, ContinuePreviousList:=False, ApplyTo:=wdListApplyToSelection, DefaultListBehavior:=wdWord10ListBehavior
End If
Next
End Sub