Word VBA: Как можно выделить текст между закладками?

Автор Maxx, 26 января 2017, 12:41

Maxx

Добрый день!
Подскажите пожалуйста, как можно выделить текст между закладками, например между закладками Закладка1 и Закладка2?

Администратор

Способ 1. Если закладки находятся в тексте файла.
Этот способ отличается от способа 2 тем, что можно не усложнять код, например, не надо использовать переменную "rng".

Sub Макрос()
    With ActiveDocument
        .Range(.Bookmarks("Закладка1").End, .Bookmarks("Закладка2").Start).Select
    End With
End Sub


Способ 2. Если закладки могут находиться в любом месте файла: в тексте, колонтитулах и других местах.

Sub Макрос()

    Dim rng As Range
   
    '1. Создание объекта "Range", с помощью которого можно выделить фрагмент файла.
        ' Объект будет представлять собой всю область, где находится закладка.
        ' Duplicate можно не использовать. Duplicate используется, чтобы не изменять исходный Range.
    Set rng = ActiveDocument.StoryRanges(ActiveDocument.Bookmarks("Закладка1").StoryType).Duplicate

    '2. Изменение объекта "Range", а именно установка его между закладками.
    rng.SetRange ActiveDocument.Bookmarks("Закладка1").End, ActiveDocument.Bookmarks("Закладка2").Start

    '3. Выделение фрагмента файла.
    rng.Select

End Sub

Maxx

Да, такими методами решил свои задачи. Спасибо. И за науку спасибо. Добавил форум в избранное.