VBA:為動態生成的控件添加事件

来源:互联网 发布:手机系统更新软件 编辑:程序博客网 时间:2024/05/17 23:13
1.聲明全局變量(不一定全局,但必須要讓第二、三步能讀取到)     Dim WithEvents mycmd  As CommandButton
2.controls.add的時候順便把上一步的變量指向它     Set mycmd = Controls.Add("Forms.CommandButton.1", "CommandButton3", Visible)
3.在form1的代碼模塊中(必須在擁有該button的容器模塊),定義事件  Private Sub mycmd_Click()
 
 
 
聯想一下vba的自定義類的自定義事件,在類myclass中定義事件myevent,在類中某處raise myevent,使用時在其它模塊中dim clsMy as new myclass,
然後sub clsMy_myevent就是具體實現事件了。
vba中,凡是事件,都是用"_"分隔,前部分都是某個指向對象(控件)的指針的名字,後部分類似常量一樣是預先定義好的有意義的名字,比如button1_click等。
vba的這種自定義事件的方法不靈活,也彆扭,但卻只能這麽做了。
 
原创粉丝点击