希望是一个简单的。 我有一个乱七八糟的Word文档。有没有办法访问这些复选框作为我可以循环并检查/设置ID和值等属性的集合?
作为参考,我已经尝试过ActiveDocument.ContentControls集合;它是空的。 我也尝试过ActiveDocument.Fields。这实际上包含与页面上相同数量的复选框,但我无法将其强制转换为复选框以访问我需要的属性。
最后一个问题是,是否可以为点击动态分配事件处理程序?
提前谢谢
答案 0 :(得分:0)
文档中嵌入的所有ActiveX字段的集合(假设其名称为ThisDocument
)是集合ThisDocument.Fields
。此集合的项目是类Field
的对象。
要查询此集合中对象的值,您可以使用以下行:
ThisDocument.Fields.Item(1).OLEFormat.Object.Value
要向事件处理程序添加代码,只需右键单击ActiveX控件,然后从上下文菜单中选择“查看代码”。您将获得Click事件处理程序:
Private Sub CheckBox1_Click()
' empty if event handler not set, VBA code otherwise '
End Sub
要动态插入代码 ,您需要直接操作代码模块,并逐行添加事件处理程序。这可能很棘手,但基本上,你会做类似的事情:
ThisDocument _
.VBProject _
.VBComponents(ThisDocument.CodeName) _
.CodeModule _
.InsertLines(<<Line>>, <<String>>)
其中<<Line>>
是您要插入的位置(数字),<<String>>
是您要插入的文本。请注意不要插入现有Sub
,Function
或自定义类型定义(显然)中间。