2024年6月5日发(作者:)

VBA中的控件数组

VBA中的控件数组

2009年2月28日

评论 发表评论大家都知道,和VB不一样,VBA中不能直接创建控件数组。然而可以

使用WithEvents来模拟相同的功能。我们需要一个类来处理控件的事件,而每一个控件

需要一个类实例。对于不同控件的类实例,我们可以使用一个对象数组或者集合来实现。

这里使用按钮控件做为例子来介绍怎样在窗体和工作表中创建控件数组。

创建类

创建控件数组之前,我们需要一个类来处理控件的事件。

在VBE窗口中,单击菜单“插入”->“类模块”,在

属性窗口中将类的名称改为“cCB”。

在类模块中添加下面这一行:

Private WithEvents m_CB As dButton

这样你就可以从代码栏的顶部左边下拉列表中选择m_CB并选择右边下拉列表中相应

的事件。

完整的代码如下:

Private WithEvents m_CB As dButton

' 初始化,将控件绑定到类

Public Sub Init(ctl As dButton)

Set m_CB = ctl

End Sub

' 控件的Click事件

Private Sub m_CB_Click()

MsgBox "你点击了:" & m_n

End Sub

' 注销类

Private Sub Class_Terminate()

Set m_CB = Nothing