1

Тема: Сбой в нумерованном списке

Есть текст (список статей с аннотациями), который по обновленным требованиям пришлось сделать нумерованным списком. В процессе обнаружилось, что некоторые абзацы выпали из общей нумерации (оказались не пронумерованными). При попытке установить номер вручную такой абзац оказывается либо номером первым, либо ставится нужный номер, однако в продолжении списка нумерация не исправляется. Как можно исправить такую ошибку?

2

Re: Сбой в нумерованном списке

ТандаКиев пишет:

Есть текст (список статей с аннотациями), который по обновленным требованиям пришлось сделать нумерованным списком. В процессе обнаружилось, что некоторые абзацы выпали из общей нумерации (оказались не пронумерованными). При попытке установить номер вручную такой абзац оказывается либо номером первым, либо ставится нужный номер, однако в продолжении списка нумерация не исправляется. Как можно исправить такую ошибку?

Я бы применил такой подход:
1. Выделил бы все абзацы, подлежащие нумерации, причем, начиная со второго такого абзаца удерживал бы нажатой клавишу Ctrl, а выделение проводил бы курсором мыши слева от строк абзаца - тогда выделение с уже выделенных абзацев не пропадает.
2. Применил бы к выделенным абзацам стиля нумерации, подготовленного заранее (напр., List Number).

3

Re: Сбой в нумерованном списке

А я бы циклом для каждого абзаца прошёлся бы и применил свойство списка. Можно сделать даже с выделением

Sub СпискиСоздание()
Dim Абзац As Paragraph
Dim СтильСписка As ListTemplate
Dim НовыйСписок, Подтверждение As Integer
For Each Абзац In ActiveDocument.Paragraphs
    Абзац.Range.Select
    If Not Абзац.Range.Information(wdWithInTable) Then
    Подтверждение = MsgBox("Применить к выделенному абзацу свойство списка?", vbYesNo)
    If Подтверждение = 6 Then
        НовыйСписок = MsgBox("Создать новый список?", vbYesNo)
        If НовыйСписок = 6 Then
            Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
        ListGalleries(wdNumberGallery).ListTemplates(1), ContinuePreviousList:=False
            Set СтильСписка = Selection.Range.ListFormat.ListTemplate
        Else
            Selection.Range.ListFormat.ApplyListTemplateWithLevel СтильСписка, ContinuePreviousList:=True
        End If
    End If
    End If
Next Абзац
End Sub
Спасибо можно перевести на WebMoney-кошелёк R378231864568 или на Яндекс-деньги 410015093172871