Здравствуйте. Скажите, пожалуйста, как сделать макрос, который бы выводил на монитор сообщение с номерами страниц, на которых есть закладки?
[вложение удалено администратором]
Какие макросу смотреть закладки? Все или по каким-то признакам? Может по именам закладок?
Да, можно по именам закладок.
Какое у закладки должно быть имя, чтобы макрос её учёл?
Закладка1, Закладка2 и т.д.
То есть у закладок фиксированные имена? Эти имена тогда просто в код макроса вписать?
Можно так. А какие варианты еще могут быть?
У закладок можно сделать одинаковый корень, но будет разный суффикс, например:
Закладка1, Закладка2 - одинаковый корень "Закладка" и разные суффиксы: 1, 2. Макрос может смотреть начало имени закладки.
Пусть будет так, как вы предлагаете.
Этот макрос работает с закладками, у которых имя начинается словом "Закладка".
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
Большое спасибо! Потестирую - отпишусь!
Работает! Спасибо большое!