

对于一个真正的软件工程而言,程序员最多的时间并不是用在编码上,而是调试上,一段代码刚写完的时候,通常是貌似完美,实际上能不能运行,其中包含着多少错误,即便是最优秀的程序员也无法预知。于是我们需要通过调试来找出我们代码中的错误,并且将其一一修复,使我们的代码最终能够实现我们预期的功能。 VBA代码也是如此,值得庆幸的是微软为我们提供了完善的调试环境,也就是我们经常用的VBAIDE(VBA集成开发环境),有很多Access新手在开始学习编写VBA代码的时候,往往一门心思学习各种语法、函数等等,却忽略了学习VBAIDE的使用方法,这样做的结果是你常常会面对一个貌似完美但是实际上无法运行的程序束手无策。 本文将完整介绍VBA代码的调试方法,虽然本文不是VBAIDE的完整教程和文档,但是通过对于本文的学习和实践,你可以学会自己来寻找代码中的错误。 本文中选用了“Office中国论坛”中网友antywjl的求助问题作为例子,来进行我们的第一次调试练习。例子附件如下: 对于一个调试系统而言,我们将会经常接触到以下概念:1、编译 编译是调试中最基本的功能,所谓编译就是把我们能够看懂的编程语言代码,转化成机器能够看懂的代码,不同系统的编译功能是不同的,VBA编译系统生成的是一种中间代码——PCode,至于他是什么,我们不需要深究,但是我们需要理解一点,就是只有所有语法全部正确的代码,才能够通过编译,因此这一功能有助于我们检查我们的代码的语法是否正确,包括变量是否作了应有的声明等等。 通常我们的语法中有显而易见的错误时,VBAIDE会用红色字体来显示有问题的代码行,但是调试不仅仅限于这些代码行,而是整个程序的检查,红色字体仅能识别一行内就能确定的错误,调试则能够识别全代码范围的错误,例如变量类型声明不符等等。 在我们的例子中,我们打开企业资料窗体代码,可以看到如下图位置,有一行红色的代码,说明了这行代码存在语法问题。