VBA - Word 添加组合框并用值填充它

问题描述 投票:0回答:1

我不明白为什么我不能简单地向 Word 添加 ActiveX ComboBox 并通过 VBA 填充值...与 Excel 相比,Word 很奇怪。

当我添加名为 ComboBox1 的组合框并打开代码时,我会自动生成此代码:

Private Sub ComboBox1_Change()

End Sub

现在我创建了这样的东西:

Private Sub FillComboBox()

    Dim cb As comboBox
    Set cb = ThisDocument.Forms("ThisDocument").Controls("ComboBox1")

     'Clear the ComboBox first
    cb.Clear

     'Add items to the ComboBox
    cb.AddItem "Option 1"
    cb.AddItem "Option 2"
    cb.AddItem "Option 3"
    cb.AddItem "Option 4"

End Sub


Private Sub Document_Open()
    FillComboBox
End Sub

还尝试在更改事件中调用 FillComboBox,但它要么产生错误,要么根本不执行任何操作。我还尝试使用 MyDocument 和 ActiveDocument,但它根本不起作用。

谢谢

vba ms-word combobox
1个回答
0
投票

创建 ActiveX 组合框

  • 右键单击功能区并选择自定义功能区
  • 从以下位置选择命令:不在功能区中的命令
  • 在右侧窗格中单击
    Create a New Tab
    ,然后单击
    Rename
    并输入 ActiveX
  • 在左侧窗格中选择
    ComboBox (ActiveX Control)
    并单击
    Add
  • OK
  • 关闭

然后将新创建的选项卡中的组合框添加到文档中。像这样更改分配。 (要获取插入的组合框的名称,请选择它并从“属性”窗口中获取它。)

Set cb = ThisDocument.ComboBox1

结果如下所示:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.