Использование VBA, чтобы разрешить флажок, чтобы скрыть / показать содержимое в Microsoft Word - PullRequest
1 голос
/ 22 марта 2019

Я просмотрел несколько учебных пособий и обучающих видео, пытаясь достичь желаемого результата: просто разрешить флажок в моей форме, чтобы скрыть содержимое при выборе или повторно показать его при отмене выбора, но, похоже, ничего не происходитбыть работающим.

В настоящее время я создал закладку для содержимого, которое я хочу скрыть, и пытаюсь вызвать его в VBA с помощью следующего оператора - который указан в качестве решения рядом ресурсов:

Private Sub CheckBox1_Click()
ActiveDocument.Bookmarks("bookmark").Range.Font.Hidden = CheckBox1.Value
End Sub

Но, несмотря на это, установка флажка не влияет на содержимое.

Есть ли что-то дополнительное, чего мне не хватает (я использую Microsoft Word 2013).

1 Ответ

1 голос
/ 22 марта 2019

Ваш код работал нормально, когда я тестировал его, но я столкнулся с несколькими проблемами, поскольку никогда не сталкивался с пользовательскими формами / флажками в Word VBA и подозреваю, что у вас может быть то же самое.

Например,первое, что я сделал, это создал Insert --> Module.Это неверноТо, что вы хотите сделать, это Insert --> Userform, затем перетащите checkbox поверх ToolBox

https://smallbusiness.chron.com/use-check-boxes-word-54673.html

Затем дважды щелкните флажок, чтобы вызвать «модуль», который будетзапустите, обратите внимание, что в боковой панели нет модуля!Отредактируйте модуль, затем вернитесь к пользовательской форме и нажмите F5.Вам должен быть представлен флажок, который будет скрывать / показывать ваш текст.

Вот мой модуль:

Public Sub CheckBox1_Click()
   ActiveDocument.Bookmarks("bookmark").Range.Font.Hidden = CheckBox1.Value
End Sub

Вот изображение:

enter image description here

Примечание: я не проверял, как вставить флажок в слово doc, я оставлю вам некоторые уроки!

Обновление:

Этот саб заставит CheckBox появляться при запуске, но я не уверен, что логика, которую вы использовали бы для его вызова, возможно, событие, такое как открытие документа?

Sub Loadform()
Load UserForm1
UserForm1.Show
End Sub

Это может быть вызвано черезсочетание клавиш или событие, но это вызовет «всплывающее окно».Если вам нужен флажок информирования, вам может понадобиться использовать эту устаревшую форму / флажок.Я следовал по указанному выше URL-адресу, но я думаю, что он датирован.

enter image description here

Обновление:

Вы также можете легко добавить это кпанель инструментов, но это не то, что вы хотите.Я обнаружил, что лучший способ - использовать «код поля», см. -> https://word.tips.net/T001571_Assigning_a_Macro_to_a_Button_in_Your_Text.html

Я смог заставить это работать, нажав CTRL + F9, затем набрав { MacroButton Loadform ClickMe} и нажав этот текст.Это может быть лучшим выбором, так как использование изображения, кажется, не очень хорошая идея .. (https://answers.microsoft.com/en-us/msoffice/forum/all/using-graphic-with-macrobutton/a9c1ef3b-cf1f-48ba-92a8-c44bffcdc131) & (http://www.addbalance.com/usersguide/parts/macrobutton_fields.htm#Different_behavior)

Gif Пример:

enter image description here

...