【问题标题】:Removing Item from Combobox without Firing Change Event从组合框中删除项目而不触发更改事件
【发布时间】:2016-01-07 13:19:08
【问题描述】:

我正在 Word VBA 中创建一个用户窗体,它只有一个名为 cboType 的组合框和一个名为 cmdNext 的命令按钮。默认情况下,cboType 具有 Null 值,cmdNext 被禁用。

我使用cboType_Change 事件,这样当从组合框中选择一个项目时,cmdNext 被启用并且组合框值被存储到变量Type。但是,当单击cmdNext 时,我有另一个子组件将删除cboType 中的每个项目。我发现删除项目也会触发cboType_Change。我不希望这种情况发生,因为它也会改变变量Type 中的值。

为了克服这个问题,我尝试使用cboType_AfterUpdate 事件而不是cboType_Change,但我发现只有当焦点从cboType (cmiiw) 移动时才会触发此事件。同时,我在用户窗体中没有任何其他活动/启用控件,因此不会触发 cboType_AfterUpdate 事件(组合框值不会存储到变量 TypecmdNext 不会启用)。

关于如何做到这一点的任何建议?

【问题讨论】:

    标签: vba events combobox


    【解决方案1】:

    如果你只是想让函数被调用,你不能用吗

    Call cboType_AfterUpdate()
    

    当用户单击cmdNext 按钮时手动调用它? 不确定这是否解决了您在组合框中更改某些值时调用cboType_Change 的初始问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多