VBa, чтобы снять все флажки activex в документе Word - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь создать кнопку, чтобы снять все флажки activex в файле .docm, но, похоже, ничего не работает. Я видел много сообщений в форуме, но ни один, кажется, не работает. Может кто-нибудь мне помочь? Obs .: исходный файл имеет по крайней мере 30 флажков, и я не хочу вводить все имена флажков. См. Код ниже и прикрепленный файл примера

Пс .: я пробовал ThisDocument.Fields; Me.Control и многие другие.

См. Прикрепленное изображение в качестве примера: ActiveX CheckBox

Private Sub CommandButton1_Click()
Dim Ctl As MSForms.Control

    For Each Ctl In ThisDocument.FormFields
        If Ctl.Name = "CheckBox" Then Ctl.Value = False
    Next Ctl
End Sub

1 Ответ

0 голосов
/ 03 мая 2019

После многих тестов приведенный ниже код решил мою проблему:

Private Sub Limpar_Click()
Dim iShp As InlineShape
For Each iShp In ActiveDocument.InlineShapes
  If iShp.OLEFormat.ClassType = "Forms.CheckBox.1" Then
                iShp.OLEFormat.Object.Value = False
            End If
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...