【发布时间】:2020-06-10 11:17:45
【问题描述】:
我是否理解正确,除了使用 VBA 编辑器的控件名称 + 事件名称组合框之外,您不能订阅事件?没有可用的 combobox.change+=eventhandler 语法,如 C# 等其他语言,是吗?
【问题讨论】:
我是否理解正确,除了使用 VBA 编辑器的控件名称 + 事件名称组合框之外,您不能订阅事件?没有可用的 combobox.change+=eventhandler 语法,如 C# 等其他语言,是吗?
【问题讨论】:
正确。事件处理是通过 VB6/VBA 中的命名约定完成的。
该名称可以是控件itlsef 的名称,也可以是声明为WithEvents 的变量。通过为该变量分配不同的引用,您开始接收来自该新对象的事件。这可以看作是动态订阅。
但是,某些环境可以提供额外的方法。例如,在 Excel 中,一些可放置对象具有隐藏属性,例如 Button.OnAction。你可以给这个属性指定一个宏的名字(作为一个字符串),它会在按钮按下时被调用。
【讨论】: