При работе с использованием скрытого свойства, чтобы скрыть/показать текст, убедитесь, что дисплей скрытого текст выключен в слове UI и необходимо также отключить отображение всех параметров без печати. Отдельные оптики находятся в файле/Опции/Дисплей; все непечатаемые символы можно переключать вкл/выкл, используя «назад P» на вкладке «Главная».
Конечно, если это макрос, который будет использоваться другими, никто не захочет постоянно переходить в файл/параметры/дисплей, чтобы изменить эти настройки. Вот макрос, который включает отдельные настройки для всего, кроме скрытого текста , если отображаются непечатные символы.
Отображение непечатаемых символов, если оно затем выключено, а отображение скрытого текста включено/выключено в соответствии с состоянием флажка.
Private Sub CheckBox1_Click()
Dim vw As Word.View
Dim bChecked As Boolean
Dim bkm As Word.Bookmark
'If the user is currently viewing non-printing characters
'make sure these are turned on individually so that
'not displaying Hidden text does not affect these settings.
Set vw = Application.ActiveWindow.View
If vw.ShowAll = True Then
vw.ShowParagraphs = True
vw.ShowObjectAnchors = True
vw.ShowTabs = True
vw.ShowHyphens = True
vw.ShowOptionalBreaks = True
vw.ShowSpaces = True
End If
vw.ShowAll = False
vw.ShowHiddenText = False
bChecked = Me.CheckBox1.Value
Set bkm = ActiveDocument.Bookmarks("TEXT_Butane")
If bChecked Then
bkm.Range.Font.Hidden = False
Else
bkm.Range.Font.Hidden = True
End If
End Sub
Если это профессиональное приложение, вы хотите сохранить «Показывать» настройки индивидуальных и повторно не применять их, когда этот документ уже не активный документ. Но это очень продвинутое программирование ...
Вы можете попробовать использовать Selection.Find и find .Font.Hidden = true, а затем find, Replacement.Font.Hidden = false. Вам нужно убедиться, что ваш .Format в Selection.Find истинен, и ваш Selection.Find.Text = "" – GibralterTop
Итак, этот флажок является элементом управления ActiveX на поверхности документа? Если вы помещаете MsgBox в код или Debug.Print, это выполняется при щелчке по ящику? Не хотите ли вы скрыть/объединить текст в соответствии с настройкой флажка, а не просто переключать? –