《Excel VBA编程窗体的事件.docx》由会员分享,可在线阅读,更多相关《Excel VBA编程窗体的事件.docx(3页珍藏版)》请在三一办公上搜索。
1、Excel VBA编程 窗体的事件Excel VBA编程 窗体的事件 事件是指在应用程序运行期间,在窗体上,由于用户的操作或系统内自身原因而产生的有效动作,例如单击鼠标、移动鼠标等都是事件。 VBE中的对象可识别的事件是预先确定的,并不是所有对象都会具有相同事件。但每个事件都有一个事件过程的框架与之对应,当某一事件发生时,系统将立即执行对应的事件过程,因此,如果想利用这个过程去完成指定的任务,那么用户就必须在这个对应的事件过程中编写程序代码,以便响应发生的事件,否则,即使发生了可识别的事件,系统也不会做任何操作。下面介绍用户窗体中的一些常用事件。 1Initialize事件 Initializ
2、e事件用来提供应用程序或用户窗体中的控件、变量等进行初始化。该事件的作用,于类模块中的该事件相同。 2QueryClose事件 该事件发生在UserForm关闭之前。通常用这个事件确保在关闭应用程序之前,应用程序包含的用户窗体中没有未完成的任务。该事件的语法格式如下: 格式:Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 该事件括号内有两个参数。其中,参数Cancel是一个整数的值,用于指定是否在所有加载的用户窗体中停止QueryClose事件,当Cancel的值设置为0以外的任意值时,Query
3、Close事件将停止执行,并防止关闭UserForm与应用程序;参数CloseMode为一个值或常数,用来指示引起QueryClose事件的原因。 CloseMode参数返回下列的值,如表12-4所示。 表12.4 CloseMode参数的返回值 常数 vbFormControlMenu VbFormCode vbAppWindows vbAppTaskManager 0 1 2 3 值 描述 用户在UserForm上选择“控制”菜单中的“关闭”命令。 由代码调用Unload语句。 正在结束当前Windows操作环境的过程。(仅用于Visual Basic 5.0。) Windows 的“任务
4、管理器”正在关闭这个应用。(仅用于Visual Basic 5.0。) “常数”是执行程序时保持常数值的命名项目。常数可以是字符串、数值、另一常te事件 该事件用于删除窗体中对象事例的所有引用。Terminate事件发生在卸载窗体对象之后。如果应用程序为非正常退出,从而导致在内存中删除UserForm的示例,将不会触发Terminate事件。例如,在从内存中删除UserForm之前,应用程序调用了End语句,则UserForm不会触发Terminate事件。 4Activate和Deactivate事件 当运行中的对象变成活动窗口的时候就会发生Activate事件。而当对象不再是活动窗口时,则
5、会发生Deactivate事件。下面的情况会引发这两种事件: 任何地方使用常数代替实际的值。 提 示 数、任何(除乘幂与Is之外的)算术运算符或逻辑运算符的组合。每个主应用程序皆可定义自己的一组常数。用户也可以使用Const语句定义附加常数。可在代码中的3Terminal Show 对象可使用代码中的Show方法变成活动的,且只有在对象是可见的时候才会发生Activate事件。除非使用Show方法,否则用Load加载的UserForm是不可见的。 l 切换焦点 在应用程序中移动焦点时,也会引发Activate和Deactivate事件。而将焦点移出或移动到另一个应用程序中的对象并不会触发此事件。在卸载对象时,并不会发生 Deactivate 事件。 从上面介绍的几个事件来看,事件都是在特定的环境下发生的。比如Click事件,只有在单击某个对象时才会发生。可以跟据这一特点,看出窗体中这些自动执行的事件的顺序是:运行窗体后,窗体执行初始化Initialize事件;然后再执行激活Activate事件;当用户的操作完成后,单击关闭按钮,执行关闭QueryClose事件;然后系统再执行Terminate事件,释放对象和用户窗体在内存中的实例和引用。
链接地址:https://www.31ppt.com/p-3156619.html