前言:
现时咱们对“vba按钮绑定事件”大约比较关怀,你们都想要分析一些“vba按钮绑定事件”的相关资讯。那么小编同时在网摘上搜集了一些对于“vba按钮绑定事件””的相关内容,希望我们能喜欢,各位老铁们一起来了解一下吧!事件是编程概念中的一个很重要内容,是执行某段程序的一个引发过程。
也就是说,在什么样的条件下进行代码运行,比如一个鼠标单击事件,一个文本改变事件等等。
事件先于一段代码而发生,而通常在VBA中,系统自动为我们创建了一些常用的事件,只需要在相应的事件下面编写代码即可以。
本节内容为,自已定义一些事件的发生,然后执行某些代码。
看上去似乎有点高级,但并不会太难以理解。
下面是一个示例,实现功能为,当我们单击鼠标的时候文本框中显示出当前时间。
似乎并没有谈到重要的内容,接下来,看一下代码,让我们理解如何进行事件创建。
如下代码新建一个类模块,设置名称为“TimeS”
Public Event UpdateTime(ByVal x As Date) '定义事件Public Sub TimeTask(ByVal dx As Date) '执行事件 RaiseEvent UpdateTime(dx) '引发事件End Sub
定义事件,应用Event语句。
示例中UpdateTime为事件名称,x为传递变量,变量可以有也可没不设置。
上述四行代码,TimeTase是一个过程,接下来,我们要通过这个过程来触发UpdateTime事件的发生。
RaiseEvent就是实现事件触发的代码,也就是执行这一行之后,事件开始发生。
这样就完成了类模块中代码定义,还没有完,接下来,我们要在窗体代码中进行事件代码的编写,也就是说当这个事件发生之后,要执行什么样的操作,事件的实际过程编写。
下面代码,都在窗体中编写:
Private WithEvents mText As TimeS
Private Sub CommandButton1_Click() Call mText.TimeTask(VBA.Now) '调用事件过程End Sub
Private Sub mText_UpdateTime(ByVal xi As Date) '事件过程 Me.TextBox1.Value = VBA.Hour(xi) & ":" & VBA.Minute(xi)End Sub
Private Sub UserForm_Initialize() Set mText = New TimeS '绑定对象End Sub
其工作流程为,首先定义一个事件变量mText,然后在表单Initialize事件中绑定为TimeS。
TimeS为事件类模块名称。
接着编写UpdateTime事件过程,和按钮Click事件过程。
特别重要的就是,CommandButton_Click事件中的代码,这是整个事件发生的入口,当然了也可赋予其它入口,这个根据实际需求来进行。
按钮过程触发了类模块中一个过程,此过程又触发了我们自定义的事件过程,最终实现把当前时间显示到文本框里。
相对来说,整个程序在窗体和类模块代码中来回穿梭运行,如果不能理清程序运行方向,很容易搞混淆。
欢迎关注、收藏
---END---
标签: #vba按钮绑定事件