Есть код для чек бокса по выделению закладки , но он не работает. Если код сделать для кнопки в форме то он срабатывает. Закладки выделяются квадратными скобками. Пожалуйста помогите доработать код, чтобы работал в чек боксе и выделял желтым и снимал выделение с закладок. [vba]
Код
Private Sub CheckBox2_Click() Dim p% If p Then Exit Sub With ThisDocument If CheckBox1.Value Then ActiveWindow.View.ShowBookmarks = True 'выделить закладки Else ActiveWindow.View.ShowBookmarks = False 'снять выделение с закладок End If End With End Sub
[/vba]
Есть код для чек бокса по выделению закладки , но он не работает. Если код сделать для кнопки в форме то он срабатывает. Закладки выделяются квадратными скобками. Пожалуйста помогите доработать код, чтобы работал в чек боксе и выделял желтым и снимал выделение с закладок. [vba]
Код
Private Sub CheckBox2_Click() Dim p% If p Then Exit Sub With ThisDocument If CheckBox1.Value Then ActiveWindow.View.ShowBookmarks = True 'выделить закладки Else ActiveWindow.View.ShowBookmarks = False 'снять выделение с закладок End If End With End Sub
Файл прикрепил к первому посту. Ошибку в чек боксе сам нашел. Там надо CheckBox1.Value заменить на CheckBox2.Value Здесь прикрепил рабочий вариант с чек боксом в форме.
Остался вопрос: Доработать код, чтобы выделял желтым (что в квадратных скобках)и снимал выделение желтым с закладок.
Файл прикрепил к первому посту. Ошибку в чек боксе сам нашел. Там надо CheckBox1.Value заменить на CheckBox2.Value Здесь прикрепил рабочий вариант с чек боксом в форме.
Остался вопрос: Доработать код, чтобы выделял желтым (что в квадратных скобках)и снимал выделение желтым с закладок.Otter
Private Sub CheckBox2_Click() If CheckBox2.Value Then z2_ = wdYellow Else z2_ = wdNoHighlight End If ActiveWindow.View.ShowBookmarks = CheckBox2.Value For Each bm In ThisDocument.Bookmarks bm.Range.HighlightColorIndex = z2_ Next bm End Sub
[/vba]
Вот так лучше [vba]
Код
Private Sub CheckBox2_Click() ActiveWindow.View.ShowBookmarks = CheckBox2.Value For Each bm In ThisDocument.Bookmarks bm.Range.HighlightColorIndex = 7 - bm.Range.HighlightColorIndex Next bm End Sub
[/vba]
Так нужно? [vba]
Код
Private Sub CheckBox2_Click() If CheckBox2.Value Then z2_ = wdYellow Else z2_ = wdNoHighlight End If ActiveWindow.View.ShowBookmarks = CheckBox2.Value For Each bm In ThisDocument.Bookmarks bm.Range.HighlightColorIndex = z2_ Next bm End Sub
[/vba]
Вот так лучше [vba]
Код
Private Sub CheckBox2_Click() ActiveWindow.View.ShowBookmarks = CheckBox2.Value For Each bm In ThisDocument.Bookmarks bm.Range.HighlightColorIndex = 7 - bm.Range.HighlightColorIndex Next bm End Sub
_Boroda_, Большое Спасибо, за два варианта. Осталось решить маленькую проблемку. Да для моего примера все работает отлично. А если прикрутить макросы к шаблону Normal, чтобы работало для всех документов в скобки заключает, а желтым не красит. Как исправить?
_Boroda_, Большое Спасибо, за два варианта. Осталось решить маленькую проблемку. Да для моего примера все работает отлично. А если прикрутить макросы к шаблону Normal, чтобы работало для всех документов в скобки заключает, а желтым не красит. Как исправить?Otter