как посчитать истинные флажки в словесной форме? - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть 5 флажков в форме Word (.dotm). Каждый раз, когда флажок = true, окно результатов увеличивается на 15 (для € 15 ..) и уменьшается на 15, если флажок = false.

Я написал это на данный момент, но результат останется на 15, даже если я передам флажок = ложь. Проблема, с которой я сталкиваюсь, заключается в том, что мой объект поля формы не изменяется непосредственно после изменения состояния флажка на 0 или 15, у меня есть смещение, состояние изменяется только после нажатия другого флажка.

Sub totalWeek()

    Dim monday As CheckBox
    Dim summary As FormField

    Set monday = ActiveDocument.FormFields("CaseACocher8").CheckBox
    Set summary = ActiveDocument.FormFields("totalSemaine")

    If monday.Value = True Then
    summary.Result = 15
    Else: summary.Result = 0
    End If

End Sub

Что не так?

1 Ответ

0 голосов
/ 09 апреля 2020

Любые действия, связанные с полями формы, выполняются только тогда, когда в поле формы завершено или введено . Это верно как для выполнения вычислений, так и для выполнения макрокода, связанного с полем формы (макросы «При выходе» и «При вводе»).

Это невозможно увидеть изменение состояния в другом поле формы при выполнении действия в одном поле формы (нажав на флажок). всегда необходимо для первого выхода из поля формы / ввода другого поля формы.

Нет никакого способа обойти это, никакого трюка, никакого «взлома».

Элементы управления ActiveX имеют запрошенную возможность, но, поскольку они не предназначены для поверхности документа, у них есть и другие недостатки.

...