VBA程序的调试:设置断点、单步跟踪、设置监视窗
Acces的VBE编程环境提供了完整的一套调试工具和调试方法。熟练掌握好这些调试工具和调试方法的使用,可以快速、准确地找到问题所在,不断修改,加以完善。
一、“断点”概念
所谓“断点”就是在过程的某个特定语句上设置一个位置点以中断程序的执行。“断点”的设置和使用贯穿在程序调试运行的整个过程。
“断点”设置和取消有4种方法:
(1)选择语句行,单击“调试”工具栏中的“切换断点”可以设置和取消“断点”。
(2)选择语句行,单击“调试”菜单中的“切换断点”项可以设置和取消“断点”。
(3)选择语句行,按下键盘“F9”键可以设置和取消“断点”。
(4)选择语句行,鼠标光标移至行首点击可以设置和取消“断点”。
在VBE环境里,设置好的“断点”行是以“酱色”亮红显示,如图8.25所示。
二、调试工具的使用
VBE环境中,右键点击菜单空白位置,弹出快捷菜单,选中“调试”选项使其前边“?”出现,这时就会打开“调试”工具栏.如图8.24所示。
调试工具栏中主要按钮功能说明见表8.11所示。
调试工具一般是与“断点”配合使用进行各种调试操作。下面简要介绍“调试”工具栏上的一些主要调试工具的用法。
1.中断工具钮
用于暂时中断程序运行,进行分析。此时,在程序中序中断位置会产生一个“黄色”亮杠,如图8.25所示。
2.本地窗口工具钮
用于打开“本地窗口”窗口,如图8.26所示。其内部自动显示出所有在当前过程中的变量声明及变量值,从中可以观察各种数据信息。
本地窗口打开后,列表中的第一项内容是一个特殊的模块变量。对于类模块,定义为Me。Me是对当前模块定义的当前类实例的引用。由于它是对象引用,因而可以展开显示当前实例的全部属性和数据成员。
实际上,Me类模块变狱还广泛用于VBA程序设计中,它不需要专门定义,可以直接使用。一般编写类模块时,对当前模块的实例引用就可以使用Me关键字。
3.立即窗口工具钮
用于打开“立即窗口”窗口,如图8.27所示。在中断模式下,立即窗口中可以安排一些调试语句,而这些语句是根据显示在立即窗口区域的内容或范围来执行的。如果输入Print variablename,则输出的就是局域变量的值。
4.监视窗口工具钮
用于打开“监视窗口,窗口,如图8.28所示。在中断模式下,右键点击监视窗口区域会弹出如图所示的快捷菜单,选择“编辑监视…”或“添加监视…”项,则打开“编辑(或添加)窗口”,在表达式位置进行监视表达式的修改或添加,见图8.29所示,选择“删除监视…”项则会删除存在的监视表达式。
通过在监视窗口增添监视表达式的方法,程序可以动态了解一些变量或表达式的值的变化
情况,进而对代码的正确与否有清楚的判断。
5.快速监视工具钮
在中断模式下,先在程序代码区选定某个变量或表达式,然后点击“快速监视”工具钮,则打开“快速监视”窗口,如图8.30所示,从中可以快速观察到该变量或表达式的当前值,达到了快速监视的效果。如果需要,还可以点击“添加”按钮,将该变量或表达式添加到随后打开的“监视窗口”窗口中,以做进一步分析。