【发布时间】:2016-09-22 01:05:01
【问题描述】:
我有一个 Word 表单(不是用户表单),其中包含 Legacy DropDownList (FormField)。
我可以使用我为它们设置的书签来访问它们。 (例如:对于带有书签“书签”的人)
ActiveDocument.FormFields("bookmark")
我使用 Legacy 下拉菜单 而不是 ActiveX ComboBox,因为我需要使用 更改其他 Legacy 下拉菜单 的值彼此的结果,以此类推。
例如:
If ActiveDocument.FormFields("bookmark").Result <> "whatever" Then
Select Case ActiveDocument.FormFields("bookmark").Result
Case "Test"
With ActiveDocument.FormFields("bookmark2").DropDown.ListEntries
.Clear
.Add "Whatever string I want"
.Add "Another string I need"
End With
'Let's not put them all but there is more cases than one
End Select
End If
也就是说,下一个的内容依赖于上一个的内容。
话虽如此,我现在需要对这些 Dropdowns 中的最后一个进行多项选择。问题是,我不能用我读过的 Legacy Dropdowns 进行多选。从我读过的内容来看,再次使用 ActiveX ComboBox 是可能的。
问题是,我制作“依赖”下拉菜单的方式是,当用户选择一个值时,会调用一个 Module 来执行上述代码。不幸的是,我不能在这些Modules 中使用ActiveX ComboBox,只能在ThisDocument 中使用。如果可以的话,我只需要改变
ActiveDocument.FormFields("bookmark2").DropDown.ListEntries
为
Me.ComboBoxWhatever,
使用 AddItem 而不是 Add 并从那里找到如何进行多选。但我不能。
根据我尚未尝试/阅读的内容,我无法从 ThisDocument 调用 Sub 方法(这里将使用 ComboBox 执行我需要的代码) 在用户从旧版下拉列表中选择一个值之后。
当用户从 Legacy Dropdowns 中选择一个值时,我怎样才能做到这一点,我可以检查 Result 并填充我的 ActiveX ComboBox 使用适当的值,以便用户可以从 ComboBox 中选择多项?
编辑:Cindy Meister 的答案适用于任何 ActiveX 控件,例如 ListBox 等。
【问题讨论】:
标签: vba combobox ms-word activex legacy