禁用 TextInput 对象
Disable TextInput Object
我有一个 checkbox
,如果 checkbox.Value = False
我想禁用我的 TextInput-Object。网上有一些建议,但是用的方法对我不起作用,因为找不到方法。
我用 .Valid
方法试过了:
Dim tf As TextInput
Dim checkbox As CheckBox
Sub checkbox_click()
Set checkbox = ActiveDocument.FormFields("checkbox").CheckBox
Set tf = ActiveDocument.FormFields("textfield").TextInput
If checkbox.Value = False
tf.Valid = False
End If
End Sub
但由于某种原因,这不起作用。我在网上找到了tf.Enabled = False
,但是这个方法在我的情况下是未知的。
虽然 Internet 可能会有帮助,但您还应该使用 VBE 中的对象浏览器和帮助。花 5 秒搜索 FormField 就能找到答案。
Dim tf As TextInput
Dim checkbox As CheckBox
Sub checkbox_click()
Set checkbox = ActiveDocument.FormFields("checkbox").CheckBox
If checkbox.Value = False
ActiveDocument.FormFields("textfield").Enabled = False
End If
End Sub
你还需要这样的东西:
Dim ff As FormField
Dim checkbox As CheckBox
.
.
Set checkbox = ActiveDocument.FormFields("checkbox").CheckBox
Set ff = ActiveDocument.FormFields("textfield")
If checkbox.Value = False
ff.Enabled = False
End If
对于遗留的 FormField 对象,您需要的一些属性与 FormField 本身相关联,而其他属性则与 FormField 的子对象相关联,例如 FormField.Checkbox
所以这里的问题是tf
是一个FormField.TextInput
对象,但是.Enabled
是FormField
对象的属性。
与您的问题无关,但作为观察,FormFields 没有正常意义上的 VBA 事件与之关联的 Word 事件。每个字段的设置告诉 Word 运行 一个命名的 Sub “在进入时” and/or “在退出时” - 就是这样。没有实际的点击事件。使用使这些事情看起来像事件的名称没有问题,但我只是想我会提到它。
我有一个 checkbox
,如果 checkbox.Value = False
我想禁用我的 TextInput-Object。网上有一些建议,但是用的方法对我不起作用,因为找不到方法。
我用 .Valid
方法试过了:
Dim tf As TextInput
Dim checkbox As CheckBox
Sub checkbox_click()
Set checkbox = ActiveDocument.FormFields("checkbox").CheckBox
Set tf = ActiveDocument.FormFields("textfield").TextInput
If checkbox.Value = False
tf.Valid = False
End If
End Sub
但由于某种原因,这不起作用。我在网上找到了tf.Enabled = False
,但是这个方法在我的情况下是未知的。
虽然 Internet 可能会有帮助,但您还应该使用 VBE 中的对象浏览器和帮助。花 5 秒搜索 FormField 就能找到答案。
Dim tf As TextInput
Dim checkbox As CheckBox
Sub checkbox_click()
Set checkbox = ActiveDocument.FormFields("checkbox").CheckBox
If checkbox.Value = False
ActiveDocument.FormFields("textfield").Enabled = False
End If
End Sub
你还需要这样的东西:
Dim ff As FormField
Dim checkbox As CheckBox
.
.
Set checkbox = ActiveDocument.FormFields("checkbox").CheckBox
Set ff = ActiveDocument.FormFields("textfield")
If checkbox.Value = False
ff.Enabled = False
End If
对于遗留的 FormField 对象,您需要的一些属性与 FormField 本身相关联,而其他属性则与 FormField 的子对象相关联,例如 FormField.Checkbox
所以这里的问题是tf
是一个FormField.TextInput
对象,但是.Enabled
是FormField
对象的属性。
与您的问题无关,但作为观察,FormFields 没有正常意义上的 VBA 事件与之关联的 Word 事件。每个字段的设置告诉 Word 运行 一个命名的 Sub “在进入时” and/or “在退出时” - 就是这样。没有实际的点击事件。使用使这些事情看起来像事件的名称没有问题,但我只是想我会提到它。