欢迎来到天天文库
浏览记录
ID:36604280
大小:304.10 KB
页数:17页
时间:2019-05-09
《VBA程序代码的调试及优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章:ExcelVBA代码调试及优化8.1VBA程序代码的调试及优化一、调试及优化的重要性作为一名开发者,开发出健壮的程序是基本要求。当你完成了代码编写,还需对程序代码进行调试、测试和优化。通过以上流程,才可能写出符合用户功能要求的程序,尽量避免BUG的存在。事实上,BUG很难避免,就连微软公司的windows操作系统,也需经常打补丁程序,弥补系统程序的漏洞。所以,在代码的编写过程中,程序的调试、测试和优化是一项不可避免的工作,也是一项非常重要的工作。VBE编辑器提供了具有多种功能的开发环境,其中包括许多与更高级的开发工
2、具中相同的调试工具。二、什么是调试?作为一名开发者查找错误的过程就称为调试。因为VBE编辑器是一个功能强大的开发环境,所以提供了几种调试工具供使用。这些工具包括:•立即窗口。•Watch表达式。•断点。•单步执行代码。二、什么是调试?我们先来看一个例子。大家还记得上一章单击取消按钮的事件过程代码吗?(代码如下)PrivateSubCommandButton2_Click()UnloadMe'删除UserForm1对象MsgBox"程序将退出,不再计算圆的面积!"'提示用户信息btn_cancel=True'btn_canc
3、el是布尔变量,当用户点击取消‘按钮时,此变量设为真。保证窗体删除‘后,不再执行计算圆面积的后续代码。EndSub二、什么是调试?我们思考一下,为什么UnloadMe语句要放在MsgBox语句之前,如果这二行代码顺序交换下,又会有怎样的效果呢?二、什么是调试?这个界面不是很友好,二个窗口同时存在了,因此必须将UnloadMe语句要放在MsgBox语句之前。如果你没有进行过程序调试与测试,就根本不会意识到这个问题的存在。同理,在上一章的计算圆的面积程序中,要定义一个名为btn_cancel的全局变量,以判断用户是否点击了取消
4、按钮,也是有原因的,这个变量辅助程序能按正常的顺序执行。大家可以试着取消该变量及相关语句,看看程序会出现什么样的问题。三、使用调试工具-单步执行代码举例说明单步执行的使用方法。具体步骤操作如下:1、打开【改进后的用户界面设计.xls】文件,再打开VBE编辑器。2、双击窗体中的确定按钮,定位到CommandButton1_Click()事件过程。用鼠标依次点击VBE编辑器中的【调试菜单】-【逐语句】(也可以按快捷键F8),此时马上弹出请输入圆半径的对话框,输入3后,单击确定按钮。程序又返回到代码窗口。此时待执行语句背景为黄色
5、,呈高亮状态。三、使用调试工具-单步执行代码3、再按一次F8健,再把鼠标移到变量r上,此时显示出此时的变量r值等于0。三、使用调试工具-单步执行代码4、再按一次F8健,再把鼠标移到变量r上,此时显示出此时的变量r值等于3,说明用户刚才输入的半径3,已经赋给变量r,符合预期要求的那样。5、继续执行程序,可以一直不断地按F8键,逐语句的执行程序。当然也可以按F5键,让程序直接执行到代码结束,不再一步一步的执行。这样可大大节省调试时间。四、程序的优化对程序进行优化,通常是指优化程序代码或程序执行速度。优化代码和优化速度实际上是一
6、个予盾的统一,一般是优化了代码的尺寸,就会带来执行时间的增加,如果优化了程序的执行速度,通常会带来代码增加的副作用,很难鱼与熊掌兼得,只能在设计时掌握一个平衡点。四、程序的优化1、程序的书写结构虽然书写格式并不会影响生成的代码质量,但是在实际编写程序时还是应该尊循一定的书写规则,一个书写清晰、明了的程序,有利于以后的维护。在书写程序时,特别是对于ForNext语句、ForEach...Next、If...Then...Else语句、SelectCase等语句或这些语句嵌套组合时,应采用“缩格”的书写形式。另外,程序中的注释
7、语句,也是不可缺少的。(一)、程序代码结构的优化四、程序的优化2、标识符程序中使用的用户标识符除要遵循标识符的命名规则以外,一般不要用代数符号(如a、b、x1、y1)作为变量名,应选取具有相关含义的英文单词(或缩写)或汉语拼音作为标识符,以增加程序的可读性,如:count、number1、red、work等。(一)、程序代码结构的优化四、程序的优化3、程序结构首先要注意尽可能采用结构化的程序设计方法,这样可使整个应用系统程序结构清晰,便于调试和维护。对于一个较大的应用程序,通常将整个程序按功能分成若干个模块,不同模块完成不
8、同的功能。各个模块可以分别编写,甚至还可以由不同的程序员编写,一般单个模块完成的功能较为简单,设计和调试也相对容易一些。(一)、程序代码结构的优化四、程序的优化4、定义常数在程序化设计过程中,对于经常使用的一些常数,如果将它直接写到程序中去,一旦常数的数值发生变化,就必须逐个找出程序中所有的常数,并逐一
此文档下载收益归作者所有