VBA程序代码的调试及优化.ppt

上传人:牧羊曲112 文档编号:5451873 上传时间:2023-07-08 格式:PPT 页数:17 大小:328.99KB
返回 下载 相关 举报
VBA程序代码的调试及优化.ppt_第1页
第1页 / 共17页
VBA程序代码的调试及优化.ppt_第2页
第2页 / 共17页
VBA程序代码的调试及优化.ppt_第3页
第3页 / 共17页
VBA程序代码的调试及优化.ppt_第4页
第4页 / 共17页
VBA程序代码的调试及优化.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《VBA程序代码的调试及优化.ppt》由会员分享,可在线阅读,更多相关《VBA程序代码的调试及优化.ppt(17页珍藏版)》请在三一办公上搜索。

1、第八章:Excel VBA 代码调试及优化,8.1 VBA程序代码的调试及优化,一、调试及优化的重要性,作为一名开发者,开发出健壮的程序是基本要求。当你完成了代码编写,还需对程序代码进行调试、测试和优化。通过以上流程,才可能写出符合用户功能要求的程序,尽量避免BUG的存在。事实上,BUG很难避免,就连微软公司的windows操作系统,也需经常打补丁程序,弥补系统程序的漏洞。所以,在代码的编写过程中,程序的调试、测试和优化是一项不可避免的工作,也是一项非常重要的工作。VBE编辑器提供了具有多种功能的开发环境,其中包括许多与更高级的开发工具中相同的调试工具。,二、什么是调试?,作为一名开发者查找错

2、误的过程就称为调试。因为VBE编辑器是一个功能强大的开发环境,所以提供了几种调试工具供使用。这些工具包括:立即窗口。Watch表达式。断点。单步执行代码。,二、什么是调试?,我们先来看一个例子。大家还记得上一章单击取消按钮的事件过程代码吗?(代码如下),Private Sub CommandButton2_Click()Unload Me 删除UserForm1对象 MsgBox 程序将退出,不再计算圆的面积!提示用户信息 btn_cancel=True btn_cancel是布尔变量,当用户点击取消 按钮时,此变量设为真。保证窗体删除 后,不再执行计算圆面积的后续代码。End Sub,二、什

3、么是调试?,我们思考一下,为什么Unload Me语句要放在MsgBox语句之前,如果这二行代码顺序交换下,又会有怎样的效果呢?,二、什么是调试?,这个界面不是很友好,二个窗口同时存在了,因此必须将Unload Me语句要放在MsgBox语句之前。如果你没有进行过程序调试与测试,就根本不会意识到这个问题的存在。同理,在上一章的计算圆的面积程序中,要定义一个名为btn_cancel的全局变量,以判断用户是否点击了取消按钮,也是有原因的,这个变量辅助程序能按正常的顺序执行。大家可以试着取消该变量及相关语句,看看程序会出现什么样的问题。,三、使用调试工具单步执行代码,举例说明单步执行的使用方法。具体

4、步骤操作如下:1、打开【改进后的用户界面设计.xls】文件,再打开VBE编辑器。2、双击窗体中的确定按钮,定位到CommandButton1_Click()事件过程。用鼠标依次点击VBE编辑器中的【调试菜单】-【逐语句】(也可以按快捷键F8),此时马上弹出请输入圆半径的对话框,输入3后,单击确定按钮。程序又返回到代码窗口。,此时待执行语句背景为黄色,呈高亮状态。,三、使用调试工具单步执行代码,3、再按一次F8健,再把鼠标移到变量r上,此时显示出此时的变量r值等于0。,三、使用调试工具单步执行代码,4、再按一次F8健,再把鼠标移到变量r上,此时显示出此时的变量r值等于3,说明用户刚才输入的半径3

5、,已经赋给变量r,符合预期要求的那样。,5、继续执行程序,可以一直不断地按F8键,逐语句的执行程序。当然也可以按F5键,让程序直接执行到代码结束,不再一步一步的执行。这样可大大节省调试时间。,四、程序的优化,对程序进行优化,通常是指优化程序代码或程序执行速度。优化代码和优化速度实际上是一个予盾的统一,一般是优化了代码的尺寸,就会带来执行时间的增加,如果优化了程序的执行速度,通常会带来代码增加的副作用,很难鱼与熊掌兼得,只能在设计时掌握一个平衡点。,四、程序的优化,1、程序的书写结构虽然书写格式并不会影响生成的代码质量,但是在实际编写程序时还是应该尊循一定的书写规则,一个书写清晰、明了的程序,有

6、利于以后的维护。在书写程序时,特别是对于For Next语句、For Each.Next、If.Then.Else 语句、Select Case等语句或这些语句嵌套组合时,应采用“缩格”的书写形式。另外,程序中的注释语句,也是不可缺少的。,(一)、程序代码结构的优化,四、程序的优化,2、标识符 程序中使用的用户标识符除要遵循标识符的命名规则以外,一般不要用代数符号(如a、b、x1、y1)作为变量名,应选取具有相关含义的英文单词(或缩写)或汉语拼音作为标识符,以增加程序的可读性,如:count、number1、red、work等。,(一)、程序代码结构的优化,四、程序的优化,3、程序结构 首先要

7、注意尽可能采用结构化的程序设计方法,这样可使整个应用系统程序结构清晰,便于调试和维护。对于一个较大的应用程序,通常将整个程序按功能分成若干个模块,不同模块完成不同的功能。各个模块可以分别编写,甚至还可以由不同的程序员编写,一般单个模块完成的功能较为简单,设计和调试也相对容易一些。,(一)、程序代码结构的优化,四、程序的优化,4、定义常数 在程序化设计过程中,对于经常使用的一些常数,如果将它直接写到程序中去,一旦常数的数值发生变化,就必须逐个找出程序中所有的常数,并逐一进行修改,这样必然会降低程序的可维护性。因此,应尽量当采用预处理命令方式来定义常数,而且还可以避免输入错误。,(一)、程序代码结

8、构的优化,四、程序的优化,5、表达式 对于一个表达式中各种运算执行的优先顺序不太明确或容易混淆的地方,应当采用圆括号明确指定它们的优先顺序。一个表达式通常不能写得太复杂,如果表达式太复杂,时间久了以后,自己也不容易看得懂,不利于以后的维护。,(一)、程序代码结构的优化,四、程序的优化,1、选择合适的算法和数据结构应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序执行的效率。,(二)、程序运行速度的优化,四、程序的优化,2、使用适合的数据类型 能够使用整型数据类型定义的变量就不要用长整型,能使用单精度浮点型数据类型变量就不要使用双精度浮点型数据类型变量。当然,在定义变量后不要超过变量的取值范围,如果超过变量的范围赋值,造成程序运行结果错误。,(二)、程序运行速度的优化,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号