您好,欢迎访问三七文档
第四章VBA编程序言4.1宏4.2控件与用户窗体4.3对象、属性、方法和事件4.4VBA语法基础4.5过程4.6流程控制语句4.7VBA应用程序的优化4.8信息及代码的保护4.9应用举例章目录节目录序言VBA(VisualBasicforApplications)是MicrosoftOffice系列的内置编程语言,是非常流行的应用程序开发语言VB(VisualBasic)的子集。它“寄生于”Office应用程序,是OfficeXP套装软件的一个十分重要的组件。它功能强大,面向对象(OOP),非常适合入门级学习。利用它可以实现繁琐、机械的日常工作的自动化,从而极大提高用户的办公效率。VBA和VB的主要区别是:1.VB用于创建标准的应用程序,VBA是使已有的应用程序(Office)自动化。2.VB具有自己的开发环境,VBA寄生于已有的应用程序(Office)。3.VB开发出的应用程序可以是可执行文件(*.EXE),VBA开发的程序必须依赖于它的“父”应用程序(Office)。章目录节目录用VBA可以实现如下一些功能:1.使重复的任务自动化。2.自定义工具栏、菜单和界面。3.简化模板的使用。4.自定义Office,使其成为开发平台。5.创建报表。6.对数据进行复杂的操作和分析。用Office作为开发平台的主要优点:1.Office本身功能强大,包括打印、文件处理、格式化和文本编辑等。2.Office应用软件及其VBA内置大量函数、语句、方法等,功能非常丰富。3.Office界面熟悉,便于软件推广应用。4.便于发布。只需要发布含有VBA代码的文档,无需考虑运行环境,因为Office是普遍配备的应用软件。5.利用宏可以实现部分程序设计自动化,大大提高软件开发效率。章目录节目录4.1宏宏(Macro)是一组VBA语句。可以理解为一个程序段,或一个子程序。在OfficeXP中,宏可以直接编写,也可以通过录制形成。录制宏,实际上就是将一系列操作过程记录下来并由系统自动转换为VBA语句。这是目前最简单的编程方法,也是VBA最有特色的地方。4.1.1宏的录制与执行4.1.2宏的编辑4.1.3为宏指定快捷键4.1.4指定宏保存的位置4.1.5将宏指定给按钮4.1.6将宏指定给图片或工具栏按钮章目录节目录4.1.1宏的录制与执行下面录制一个非常简单的宏,它的功能是将当前选中的单元格背景置成蓝色。如下步骤:①进入Excel。②在“工具|宏”菜单中选“录制新宏”项。③在“录制新宏”对话框中输入宏名“填充颜色”,单击“确定”按钮。此时,屏幕上显示出“停止录制”工具栏。④在“格式”工具栏中单击“填充颜色”按钮右边的三角标志,选择蓝色。⑤单击“停止录制”工具栏按钮,结束宏录制过程。也可以选择“工具|宏|停止录制”菜单结束宏录制。录制完一个宏后就可以执行它了。4.1.2宏的编辑对已经存在的宏,我们可以查看代码,也可以进行编辑修改。选择“工具|宏|宏”菜单,在“宏”对话框中选择列表中的“填充颜色”,单击“编辑”按钮。可以在VBA的编辑器窗口修改宏。编辑宏同样非常简单。同时我们知道,通过编辑宏可以删除多余的语句,提高运行速度,也可以加入判断或循环等无法录制的语句,增加宏的功能。许多过程可以用录制宏来完成。但录制的宏无判断或循环能力,人机交互能力差,即用户无法进行输入,计算机无法给出提示,无法显示对话框,无法显示自定义窗体。因此,需要对录制的宏进行编辑修改。章目录节目录4.1.3为宏指定快捷键快捷键即快速执行某项操作的组合键。例如:CTRL+C在许多程序中代表“复制”命令。当给宏指定了快捷键后,就可以用快捷键来执行宏,而不必通过“工具”菜单。可以在创建宏时指定快捷键,也可以在创建后再指定。注意:当包含宏的工作簿打开时,为宏指定快捷键会覆盖原有快捷键的功能。因此,在定义新的快捷键时,尽量避开系统已定义的常用快捷键。4.1.4指定宏保存的位置宏可保存在三种位置:当前工作簿、新工作簿和个人宏工作簿。将宏保存在当前工作簿或新工作簿,只有该工作簿打开时,相应的宏才可以用。个人宏工作簿是为宏而设计的一种特殊的具有自动隐藏特性的工作簿。第一次将宏创建到个人宏工作簿时,会创建名为“PERSONAL.XLS的新文件。如果该文件存在,则每当EXCEL启动时会自动将此文件打开并隐藏在活动工作簿后面。在“窗口”菜单中选择“取消隐藏”后,可以发现它的存在。节目录章目录4.1.5将宏指定给按钮VBA主要的目标是为自动化提供一个易于操作的界面。“按钮”是最常见的界面组成元素之一。通过使用“窗体”工具栏,可以为工作簿中的工作表添加按钮。在创建完一个按钮后,可以为它指定宏,然后就可以通过单击按钮来执行宏了。此后,单击按钮就可以运行该宏。在按钮上右击鼠标,可改变大小或标题。4.1.6将宏指定给图片或工具栏按钮除了将宏指定给按钮外,还可以指定给图片和工具栏按钮。指定宏到图片十分简单,用“插入|图片”菜单或其他方法在当前工作表放置图片后,右击图片,在快捷菜单中选“指定宏”即可进行设置。将宏指定给“工具栏按钮”,可按如下步骤进行:①在Excel中,选择“工具|自定义”菜单,显示“自定义”对话框。②在“命令”卡中,从“类别”列表框中选择“宏”,从“命令”列表框中将“自定义按钮”拖动到任意一个工具栏上。③右击该按钮,选择“指定宏”,显示“指定宏”对话框。④选择需要的宏名并单击“确定”按钮。⑤单击“关闭”按钮,关闭“自定义”对话框。章目录节目录4.2控件与用户窗体4.2.1控件在Excel工具栏上单击鼠标右键,从快捷菜单中选择“窗体”,显示出“窗体”工具栏,其中有16个控件,9个可放到工作表上。1.标签:用于表现静态文本。2.分组框:用于组合其它控件。3.按钮:用于执行宏命令。4.复选框:它是一个选择控件,通过单击可以选择和取消选择,可以多项选择。5.选项按钮:通常几个选项按钮组合在一起使用,在一组中只能选择一个选项按钮。6.列表框:用于显示多个选项并从中选择。7.组合框:用于显示多个选项并从中选择。可以选择其中的项目或者输入一个其它值。8.滚动条:是一种选择控制机制。包括水平滚动条和垂直滚动条。9.微调控件:是一种数值选择机制,通过单击控件的箭头来选择数值。要将控件添加到工作表上,可以在“窗体”工具栏中单击需要的控件,此时鼠标变成十字形状,在当前工作表的适当位置按下鼠标左键并拖动鼠标画出一个矩形,这个矩形代表了控件的大小,对大小满意后放开鼠标左键,这样一个控件就添加到工作表上了。节目录章目录4.2.2用户窗体用户窗体。用户窗体可以作为程序的对话框和窗口。向用户窗体添加控件类似于向工作表添加控件。在VBA编辑器中出现一个名为“UserForm1”的窗体,“控件工具箱”同时出现,在其中有许多已经熟悉的控件,另外还有一些新的控件。这些新的控件是:1.切换按钮:该控件如果被选中,那么会保持被按下的状态。如果再次单击它就恢复为没有按下的状态。2.选项卡条(TabStrip):它是包含多个选项卡的控件。通常用来对相关的信息进行组织或分类。3.多页:外观类似选项卡条,是包含一页或多页的控件。选项卡条给人相似的外观,而多页控件的各页包含各自不同的控件,有各自不同的布局。如果每一页具有相同布局,则应选择选项卡条,否则应该选择多页。4.图像控件:它允许向窗体上放置图片。5.RefEdit:它外观象文本框,通过这个控件可以将用户窗体折叠起来,以便选择单元格区域。章目录节目录4.3对象、属性、方法和事件同其它任何面向对象的编程语言一样,VBA里也有对象、属性、方法和事件。所谓对象,就是代码和数据的组合。如表、窗体或文本框等都是对象。所谓属性,是指对象的特性,像大小、颜色、状态等。所谓方法指的是对象能执行的动作,如刷新等。事件是一个对象可以辨认的动作,像单击鼠标或按下某键等,并且可以写某些代码针对此述动作来做响应。在VBA中,窗口和它上面的“关闭”按钮,是两个对象。窗口及按钮的颜色、大小是它们的属性。当你按下“关闭”按钮时,发生关闭事件,通过相应的方法关闭窗口。【例4.1】章目录节目录【例4.1】新建一个窗体,放置两个按钮和一个文字框控件。按钮的标题分别定义为“显示”和“清除”。单击“显示”按钮,在文字框中显示一行文字,单击“清除”按钮,清除文字框中的文字。节目录章目录4.4VBA语法基础4.4.1注释4.4.2连写和断行4.4.3变量和常量4.4.4运算符章目录节目录4.4.1注释好的程序一般都有注释,这对程序的维护有很大的好处。在VBA程序中,注释可以通过以下两种方式实现:(1)使用Rem语句。(2)用单引号(')号。4.4.2连写和断行程序中,一般一个语句占一行,但有时候可能需要在一行中写几个语句。这时需要用到“:”来分开语句。例如:a=1:b=2有时一个语句太长,书写起来不方便,看上去也不美观,希望将其分开写成几行。此时要用到空白加下划线(_)。章目录节目录4.4.3变量和常量1.变量2.变量的数据类型3.声明变量4.声明数组5.变量赋值6.常量章目录节目录1.变量变量用于临时保存数据。程序运行时,变量的数据可以改变。在VBA代码中可声明和使用变量来临时存储数据或对象。例如:DimMyNameAsString'声明一个名为MyName的字符串变量MyName=北京'给变量赋值MyName=上海'改变量的值2.变量的数据类型变量的数据类型控制变量允许保存何种类型的数据。表4.1列出了VBA支持的数据类型,同时列出了各种类型的变量所需要的存储空间和能够存储的数据范围。进行程序设计时,应选择占据存储空间尽量小的数据类型来保存所需要的数据。表4.1数据类型章目录节目录表4.1数据类型数据类型存储空间数值范围Byte(字节)1字节0~255Booleam(布尔)2字节True或FalseInteger(整型)2字节-32768~32767Long(长整型)4字节-2147483648~2147483647Single(单精度)4字节负值范围:-3.402823E38~-1.401298E-45正值范围:1.401298E-45~3.402823E38Double(双精度)8字节负值范围:-1.79769313486232E308~-4.94065645841247E-324正值范围:4.94065645841247E-324~1.79769313486232E308Currency(货币)8字节-922337203685477.5808~922337203685477.5807Decimal12字节不包括小数时:+/-79228162514264337593543950335包括小数时:+/-7.9228162514264337593543950335Date(日期时间)8字节日期:100年1月1日~9999年12月31日时间:00:00:00~23:59:59Object(对象)4字节任何引用对象String(字符串)字符串的长度变长字符串:0~20亿个字符定长字符串:1~64K个字符Varient(数字)16字节Double范围内的任何数值Varient(文本)字符串的长度数据范围和变长字符串相同3.声明变量变量在使用之前,最好进行声明,也就是定义变量的数据类型,这样可以提高程序的可读性和节省存储空间。变量的数据类型可以是表4.1中的任何一种数据类型。变量不经声明直接使用在语法上也是允许的,系统会自动将变量定义为Variant类型,VBA中默认的数据类型是Variant。缺点是占用存储空间较大,而且影响程序的性能,因为VBA必须辨别Variant类型的变量中存储了何种类型的数据。通常使用Dim语句来声明变量。节目录章目录变量名必须以字母开始,并且只能包含字母、数字和特定的字符,最大长度为255个字符。可以在一个语句中声明几个变量。声明语句可以放到过程中,创建的变量在过程内有效,声明语句放到模块顶部,创建的变量在
本文标题:VBA编程
链接地址:https://www.777doc.com/doc-5470635 .html