Определить номер страницы с закладкой

Автор BoomZoom, 14 декабря 2015, 22:51

BoomZoom

Здравствуйте. Скажите, пожалуйста, как сделать макрос, который бы выводил на монитор сообщение с номерами страниц, на которых есть закладки?

[вложение удалено администратором]

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

Какие макросу смотреть закладки? Все или по каким-то признакам? Может по именам закладок?

BoomZoom


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

Какое у закладки должно быть имя, чтобы макрос её учёл?

BoomZoom


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

То есть у закладок фиксированные имена? Эти имена тогда просто в код макроса вписать?

BoomZoom

Можно так. А какие варианты еще могут быть?

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

У закладок можно сделать одинаковый корень, но будет разный суффикс, например:
Закладка1, Закладка2 - одинаковый корень "Закладка" и разные суффиксы: 1, 2. Макрос может смотреть начало имени закладки.

BoomZoom

Пусть будет так, как вы предлагаете.

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

Этот макрос работает с закладками, у которых имя начинается словом "Закладка".

Sub Main()
    Dim docAct As Document, bkmark As Bookmark, strMsg As String
    '1. Vba-именование активного файла.
    Set docAct = ActiveDocument
    '2. Функционал.
    For Each bkmark In docAct.Bookmarks
        ' Если имя закладки начинается словом "Закладка".
        If InStr(bkmark.Name, "Закладка") = 1 Then
            strMsg = strMsg & bkmark.Range.Information(wdActiveEndAdjustedPageNumber) & vbCr
        End If
    Next
    '3. Сообщение.
    If strMsg = "" Then
        MsgBox "В файле нет искомых закладок.", vbInformation
    Else
        MsgBox "Закладки находятся на страницах:" & vbCr & strMsg, vbInformation
    End If
End Sub

BoomZoom

Большое спасибо! Потестирую - отпишусь!

BoomZoom