Флажок для изменения текстового поля в Word 2010 - PullRequest
1 голос
/ 10 февраля 2012

Я хочу иметь документ MS Word 2010, в котором есть флажок (ckeckable) и текстовое поле (текстовое поле), где отображается различный текст в зависимости от того, установлен флажок или нет.

Я пробовалего поиск, но почему-то все предложения не предназначены для решения вопроса о флажке ...

Я думаю, что решение следует использовать в Visual Basic?

1 Ответ

2 голосов
/ 10 февраля 2012

Как то так?

Private Sub CheckBox1_Change()
    If CheckBox1.Value = True Then
        TextBox1.Text = "Checked!"
    Else
        TextBox1.Text = "Unchecked."
    End If
End Sub

Предполагается, что у вас есть флажок с именем CheckBox1 и текстовое поле с именем TextBox1. Приведенный выше код входит в модуль ThisDocument.

Результат выглядит так enter image description here и enter image description here.

РЕДАКТИРОВАТЬ Ой, я сделал эти картинки в Excel ... Ну, в Word они выглядят почти одинаково.

РЕДАКТИРОВАТЬ Вы изменили требование и хотите, чтобы текстовое поле было «скрыто», когда флажок снят. Не существует формального способа «скрыть» текстовое поле, но вы можете удалить из него видимые элементы, т. Е. Содержащийся в нем текст, а также «затонувший» специальный эффект, чтобы он не отличался от фона:

Private Sub CheckBox1_Change()
    If CheckBox1.Value = True Then
        TextBox1.Text = "Checked!"
        TextBox1.SpecialEffect = fmSpecialEffectSunken
    Else
        TextBox1.Text = ""
        TextBox1.SpecialEffect = fmSpecialEffectFlat
        'Textbox is now "invisible"
    End If
End Sub
...