【问题标题】:Microsoft Word: How to enable and disable checkboxes in VBA?Microsoft Word:如何在 VBA 中启用和禁用复选框?
【发布时间】:2021-10-28 23:16:24
【问题描述】:

对此完全陌生。

单击复选框时,我想单击或禁用复选框。

例如,当用户点击开发时,它应该勾选有问题的“是”,当用户勾选文档时,它应该选择“否”。

以下是我的表格: / 我启用了开发人员并单击名称标签作为开发人员并打开 VBA 并编写了以下代码:

Private Sub Document_New()
 If (dev.Value = True) Then
    MsgBox ("You've subscribed")
 End If
End Sub

然后我尝试了以下操作:

Private Sub Document_New()
 If ActiveDocument.SelectContentControlsByTag("dev")(1).Checked = True Then
   ActiveDocument.SelectContentControlsByTag("codeno")(1).Checked = True
End If
End Sub

在这里找不到任何输出。旧版控件是复选框。我已经给出了名称和标签并尝试访问它。

【问题讨论】:

  • 上述控件是否在表单上,如您所说(“以下是我的表单:”)?如果是,最好向我们展示整个表格的图片。现在,如果单击Development 并勾选“是”,则当您选中Documentation 时,No 复选框将被勾选,但您还将选中Yes。您可以将其设为False,但其中一个排除另一个,您应该使用单选按钮而不是复选框。然后,按照您尝试的方式,该代码仅在创建文档时才起作用,或者您需要在必要的复选框更改其值时运行它(因此,使用其Change 事件)...
  • 这能回答你的问题吗? stackoverflow.com/questions/54783516/…
  • 我忘了提到不能保存带有代码的 .docx 类型。您必须将其保存为 'docm 类型。
  • docs.microsoft.com/en-us/office/vba/api/word.document.new Document_New 代码仅在基于编写代码的模板创建新文档时执行。

标签: vba ms-word word-contentcontrol


【解决方案1】:

如果您想运行 VBA 宏,您需要将文档另存为启用宏的文档 (*.docm)。下面的代码看起来不错:

ActiveDocument.SelectContentControlsByTag("dev")(1).Checked = True

请参阅Word CheckBox ContentContol OnChange Event 如何处理复选框状态更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多