前言:
此时朋友们对“vba窗体键盘事件”大约比较关切,看官们都需要了解一些“vba窗体键盘事件”的相关内容。那么小编也在网上搜集了一些对于“vba窗体键盘事件””的相关资讯,希望各位老铁们能喜欢,大家一起来了解一下吧!No.1
涉及到事件就必须要对类模块进行一个清楚的认识,模块是一个难掌握的部分,当然也是十分有用的部分,如果不是对编程有一定的理解,相对来说学会是有点困难。
本节主要介绍,如何自己定义一个类来进行按钮事件的过程。
也就是说,通常在窗体中插入一个按钮,系统就自动为按钮定义了许多事件,但那些事件都是空的,需要在VBE编辑窗体中进行编码,然后才能执行。
此文是在编码中进行事件整个过程的定义。
具体看如下示例截图,有些写不清楚的地方,可以在图中找到答案。
下图为执行后的窗体部分,可以看到有一个文字标签和一个按钮控件。
我们的重点在按钮上。当单击按钮后,出现的内容就是一个事件过程,这个过程怎么生成,就是本节的内容。
下图为单击按钮后弹出一个新的窗体,这个窗体是预先做好的,不是事件内容,事件执行的内容只是弹出这个窗体。当然了,也可以在事件中编写生成这个窗体以及窗体内容的过程,但那样会显得太高级了,这里就不写了。
下面进入正题,代码分析。
代码是整个过程的灵魂,没有灵魂就如同没有思想的躯体。所以,一定要看如下的代码。
第一步:
首先新建一个窗体,双击窗体,复制如下代码进去。
Dim Cbtn As New BtnClick '定义Cbtn 一个类名Private Sub UserForm_Initialize()Dim ClickBtn As Object '定义一个对象名Set ClickBtn = Me.CommandButton1 '给对象名关联按钮对象Cbtn.init ClickBtn '关联BtnClick类End Sub
每一行都有解释,就不一一介绍了,很明显的说明。
第二步:
新建一个类模块,复制如下代码到类模块。
'声明一个MSForms.CommandButton对象变量Private WithEvents btnObj As MSForms.CommandButton'定义一个过程 过程名为initPublic Sub init(ctl As MSForms.CommandButton) Set btnObj = ctl '过程功能:把对象参数ctl传递给btnObject变量End SubPrivate Sub btnObj_Click() '定义btnObj对象的Click事件过程'------------ 这里写事件过程语句 ---------------- MsgBox "这是一个按钮事件!" UserForm2.ShowEnd Sub
第三步:
修改类模块名为:BtnClick
不修改也可以,但是你什么结果也不会看到。
类模块名和第一步里第一行代码有一个关联,至于什么关联,看一下就知道了。
严格来说第三步才是第二步,为什么这么写呢,就是为了说明一点,编码没有严格顺序,但是有严格的规则限制。
只要遵守编码规则,任何顺序都可以颠覆。
第四步:
运行Form1表单,就可以实现按钮事件的整个过程了。
如果想改变按钮事件可以在第二步的第8行开始写自己的代码,无论怎么写都不会改变按钮事件已经生成这件事情。
最后
至于如何新建窗体和按钮控件,新建类模块的方法,可以在VBE里自己完成。
类模块里完成的功能是十分强大的,VBA编程中的很多内容都可以写到类模块中,以后会不断更新一些其它事件定义新建方法,大同小异,当然了本节就是基础,只有把基础学会了,才能够更上一层楼,不是吗?
欢迎收藏、关注
---- END ---
标签: #vba窗体键盘事件