首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >禁用TextInput对象

禁用TextInput对象
EN

Stack Overflow用户
提问于 2020-07-01 17:48:40
回答 2查看 26关注 0票数 0

我有一个checkbox,如果这个checkbox.Value = False我想禁用我的文本输入对象。在互联网上有一些建议,但使用的方法对我不起作用,因为没有找到方法。

我在.Valid-method上尝试过:

代码语言:javascript
运行
复制
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,但在我的情况下,这种方法是未知的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-01 19:38:13

你需要更多像这样的东西:

代码语言:javascript
运行
复制
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对象,而.EnabledFormField对象的一个属性。

与您的问题无关,但仅作为观察,在正常意义上的FormFields事件中没有与之关联的Word事件。每个字段的设置告诉Word运行一个指定的Sub "on entry“和/或"on exit”--仅此而已。没有实际的点击事件。使用使这些东西看起来像事件的名称没有问题,但我只是想我应该提一下。

票数 1
EN

Stack Overflow用户

发布于 2020-07-01 19:32:28

虽然互联网可以帮助你,但你也应该使用VBE中的对象浏览器和帮助。花5秒钟搜索FormField就能给出答案。

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62674115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档