Каков наилучший подход для создания документа Word на основе выбора пользователя с помощью флажков? - PullRequest
0 голосов
/ 23 апреля 2019

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

До сих пор я думал о добавлении флажков перед каждым абзацем и в конце кнопкой.Когда я нажимаю кнопку, я собираюсь удалить все абзацы, у которых флажок не активирован.

Проблема в том, что я не знаю, какой подход к этому наиболее удобен для пользователя.Я думаю о создании закладок для каждого параграфа и использую формулу IF для каждого из флажков.Наиболее удобные для пользователя флажки - это элементы управления контентом, но я не знаю, как ссылаться на них в коде VBA.

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

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

Спасибо!

1 Ответ

1 голос
/ 26 апреля 2019

Мне удалось сделать то, что я хотел.Прежде всего, я поставил флажки управления контентом перед каждым абзацем и установил уникальный тег для каждого из них.Затем для каждого флажка я выбрал абзац, включая флажок, и добавил закладку, названную точно так же, как флажок.Затем я установил только флажок и добавил имя закладки hide_nameofthecheckbox.

Я добавил кнопку ActiveX со следующим кодом vba при нажатии:

Private Sub btnSubmit_Click()
Dim bookmark As String
Dim ctl As ContentControl
    For Each ctl In ActiveDocument.ContentControls
        If ctl.Type = wdContentControlCheckBox Then
            If ctl.Checked = False Then
            bookmark = ctl.Tag
                 Bookmarks(bookmark).Range.Font.Hidden = True
                 Else
                 bookmark = "hide_" & ctl.Tag
                  Bookmarks(bookmark).Range.Font.Hidden = True

                 ' DO NOTHING
            End If
        End If
    Next
End Sub

В основном, когдаЯ нажимаю кнопку «Отправить», код проверяет каждый флажок на значение True или False.Если этот флажок установлен, он скрывает флажок. Если флажок снят, он скрывает весь абзац, включая флажок.Таким образом, после того, как я нажму кнопку «Отправить», флажки не будут видны, поэтому документ готов к печати. ​​

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...