1. Юзер выделил текст на странице.
2. Макрос должен проверить, есть ли на конце выделенной области пустые абзацы.
3. Если пустые абзацы присутствуют, то макрос должен уменьшить выделенную область: выделение на тексте остаётся, а с абзацев оно снимается.
Как это сделать?
И ещё хотел бы узнать, как в пункте 3 удалить пустые абзацы, оставив тест выделенным?
Убрать с конца выделенной области пустые абзацы можно так:
Sub Макрос()
' Убираем с конца выделенной области пустые абзацы.
Selection.MoveEndWhile Cset:=Chr(13), Count:=wdBackward
' Включаем в выделенную область символ абзаца.
Selection.MoveEnd Unit:=wdCharacter, Count:=1
End Sub
Если надо удалить, то так:
Sub Макрос()
' Делаем цикл, пока на конце выделенной области есть пустой абзац.
Do While Selection.Paragraphs.Last.Range.Characters.Count = 1
' Удаление пустого абзаца с конца выделенной области.
Selection.Paragraphs.Last.Range.Delete
' Если выделенная область стала в виде мигающего курсора, то значит удалёно всё, что было выделено.
If Selection.Type = wdSelectionIP Then
Exit Do
End If
Loop
End Sub
Спасибо - работают ваши способы!