我正在尝试在Word文档中开发一个动态用户表单,该表单将创建一个带有通用名称的ActiveX单选按钮,然后重命名该创建的单选按钮,使其具有基于其在表单中的位置的特定数字。 / p>
到目前为止,我相信我拥有编写代码的所有组件,因为我可以创建按钮。我创建按钮,使用VBA导入一个快速部分,其中单选按钮具有已定义的radioButtonX名称,我可以将该单选按钮的名称属性更改为radioButton1。我遇到的问题是我的代码将插入带有通用radioButtonX名称的快速部分,然后无法更改单选按钮名称,因为它表示radioButtonX不存在。但是,我可以在插入radioButtonX后手动运行代码的第二部分,并且我能够成功更改单选按钮名称,从而在两个单独的步骤中为我提供最终结果。
我是去年自学成才的VBA脚本编写者,因此我远非编码专家。到目前为止,我采取的一些策略是:
我希望能提供一些建议,策略或示例代码,以便让VBA识别我在代码运行时插入的新单选按钮。我想到的另一个想法是,可能存在一个命令,它会让VBA刷新变量知识,但我在网络搜索中找到类似的东西并没有运气到这一点。
答案 0 :(得分:0)
我尝试简化我正在处理的代码并提取执行我请求的功能的代码。运行更简单的代码是成功的,并在下面列出。
Private Sub AddRadioButton()
Selection.TypeText Text:="TestRadioButton"
Selection.Range.InsertAutoText
ActiveWindow.View.ShowXMLMarkup = wdToggle
ChangeButtonName
End Sub
Private Sub ChangeButtonName()
ThisDocument.radioButtonX.Name = "radioButton1"
End Sub
要使此脚本生效,您必须创建一个名为TestRadioButton的快速部件或单选按钮。我认为现在根本问题必须处理看起来不起作用的时序,因为此代码来自的脚本是使用带有多个通用单选按钮的快速部分,因此执行的脚本无法识别新的单选按钮跑步时。