分享

类模块实例

 gblhp 2015-02-16

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat4/504.html,VBA交流群273624828。

这节来看个类模块的例子。比较常用的一个类模块的应用就是在设置窗体按钮的Click事件的时候,比如在一个模拟的计算器中,有0-9共10个按钮,每点击一个按钮就输出相应的数字,如果按常规方法来做的话那这10个按钮你每个都需要写一个Click事件,如果用类模块的话就简单多了。下而来 看操作步骤。

首先来制作一个如图所示的简单窗体

QQ截图20141102150151

插入一个类模块,命名为mybutton,然后输入下面的代码

Public WithEvents comb As MSForms.CommandButton
Private Sub comb_Click()
userform1.Controls("TextBox1").Text = comb.Caption
End Sub

这里Public WithEvents comb As MSForms.CommandButton意思是定义一个对象comb,使其具有窗体中按钮控件的事件,下面的代码就是将comb直接作为一个按钮来编写了,点击的时候窗体中文本框的值是按钮的Caption属性。

下面来写模块代码

Dim arr(9) As New mybutton
Sub NewButton()
Dim i
For i = 0 To 9
Set arr(i).comb = userform1.Controls("CommandButton" & i + 1)
Next
End Sub

因为我们一共10个按钮控件,所以先定义一个公共数组变量arr(9),这里之所以要定义为公共变量为的是使Sub运行完后相应的值仍然保留,否则程序释放了我们设的效果也跟着没了。

归类用的是Set arr(i).comb = userform1.Controls("CommandButton" & i + 1),arr(i)是类,comb是类中的一个对象,按钮用的是userform1.Controls("CommandButton" & i + 1)这种形式。

运行一下该sub过程,所有的按钮就有了类模块所定义的Click事件。在实际运行中,该sub过程可以放了窗体的初始化Initialize事件中,这样只要调用窗体所有的Button也就有了Click事件。

本节示例文件下载地址:http://pan.baidu.com/s/1qWkE37m

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多