一、事件过程
-
-事件:事件就是能被对象识别的某个操作。类似于中断程序。
-事件过程:当某个事件发生后进行的过程。
-事件过程必须写在特定对象所在的模块中,而且只有过程所在模块里的对象才能触发这个事件。
*举例:如果要写一个打开workbook就自动运行的过程,我们就要写在workbook对象所在的模块中,而且只有打开该workbook才会触发该过程。
*如何写在特定对象:如果要写在Sheet1对象中,就可以在VBA编辑界面的【工程资源管理】器中双击激活该对象所在模块的【代码窗口】
-事件过程的过程名由Excel自动设置,以“对象名称_事件名称”的形式存在,不能更改。
1.Worksheet事件举例
Private Sub Worksheet_Change(ByVal Target As Range) 'Target的值是改变了值的单元格对象参数
'当变更单元格的内容时,会弹出下面的对话框
MsgBox Target.Address & "单元格的值被更改为:" & Target.Value
End Sub
2.WorkBook事件举例
Private Sub Workbook_BeforeClose(Cancel As Boolean) '变量Cancel是程序的参数,如果值为True,则取消关闭工作簿
If MsgBox("确定一下值历史记录有没有更新,如果选否就取消关闭", vbYesNo) = vbNo Then
Cancel = True '值为True则取消关闭
End If
End Sub
3.Application事件举例
'直接写在模块中,每次都要运行InTime过程,可以直接放在Work_Open事件下自动运行
Sub InTime()
Application.OnTime Now() + TimeValue("00:00:10"), "Timer"
End Sub
Sub Timer()
MsgBox "可以做一个定时器哦"
End Sub
二、操作界面
控件:分为表单控件和ActiveX控件
一、表单控件
可以在工作表中使用的表单控件:
-按钮:用户执行宏命令
-组合框:提供可选择的多个选项,用户可以选择其中的一个项目
-复选框:雅虎选择的控件,可以多项选择
-数值调节钮:通过单击控件的箭头来选择数值
-列表框:显示多个选项的列表,用户可以从中选择一个选项
-选项按钮:用户选择的控件,通常几个选项按钮用组合框组合在一起使用,在一组中只能同时选择一个选项按钮
-分组框:用户组合其他多个控件
-标签:用于输入和显示静态文本
-滚动水平滚动条和垂直滚动条
2.组合框控件:可以选择值
3.Active控件:制作出控件后,需要写相应的程序。
4.表单控件与Active控件的区别:表单控件用法比较单一,只能在工作表中通过设置控件格式和指定宏来使用,二Active控件拥有很多属性与事件,不但可以在工作表中使用,还可以在用户窗口中使用。
二、对话框
1.InputBox函数:注意参数写入的规则
2.InputBox方法:创建交互对话框。返回类型变多了
3.MsgBox函数:创建输出对话框。注意写入参数的规则。Buttons为按钮样式+提示语的图标+设置按钮的默认值
4.FindFile方法:显示【打开】对话框。参数filefilter设置文件格式的筛选条件,MultiSelect可以选择多个文件。
5.GetSaveAsFilename方法显示另存为对话框。
6.用Application对象的FileDialog属性夺取目录名称
三、调试与优化
非常重要
//ToDo