Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: oleg4226 от 09 октября 2019, 14:07

Название: Word VBA Макросы: Как убрать с конца выделенной области разрыв раздела?
Отправлено: oleg4226 от 09 октября 2019, 14:07
Имеется активная страница в Word c одним разрывом раздела (следующая страница).

1. Юзер выделил текст на странице.

2. Макрос должен проверить, есть ли в выделенной области разрыв раздела.
Т.е. юзер может выделить просто текст, а может выделить вместе с текстом разрыв раздела.

3. Если разрыв раздела присутствует в выделенной области, то макрос должен уменьшить область выделения: на тексте остается выделение, а с разрыва раздела оно снимается.

Как это сделать?
Название: Re: Word VBA Макросы: Как убрать с конца выделенной области разрыв раздела?
Отправлено: oleg4226 от 09 октября 2019, 14:22
Нашел рабочий вариант:

Sub Макрос()

    ' Если на конце разрыв раздела (любой вид, у всех код 12).
    If Asc(Selection.Characters.Last.Text) = 12 Then
        Selection.MoveEnd Unit:=wdCharacter, Count:=-1
    ' Если на конце разрыв страницы.
    ElseIf Asc(Selection.Characters.Last.Previous.Text) = 12 Then
        Selection.MoveEnd Unit:=wdCharacter, Count:=-2
    End If

End Sub