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所示,从中可以快速观察到该变量或表达式的当前值,达到了快速监视的效果。如果需要,还可以点击“添加”按钮,将该变量或表达式添加到随后打开的“监视窗口”窗口中,以做进一步分析。

出处:http://www.educity.cn/ncre/ncrefx/201011301007201217.htm

VBA程序的调试的更多相关文章

  1. Docker容器环境下ASP.NET Core Web API应用程序的调试

    本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...

  2. MATLAB调用C程序、调试和LDPC译码

    MATLAB是一个很好用的工具.利用MATLAB脚本进行科学计算也特别方便快捷.但是代码存在较多循环时,MATLAB运行速度极慢.如果不想放弃MATLAB中大量方便使用的库,又希望代码能迅速快捷的运行 ...

  3. [转] python程序的调试方法

    qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python de ...

  4. Delphi应用程序的调试(十)调试器选项(在IDE中不要使用异常)

    可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局 ...

  5. 无法在web服务器上启动调试,服务器不支持对ASP.NET 或ATL Server应用程序进行调试。

    无法在web服务器上启动调试,服务器不支持对ASP.NET 或ATL Server应用程序进行调试. a>.DCOM配置里的属性灰色不可用的解决方法,   1>.管理工具->组件服务 ...

  6. 【经验随笔】Java程序远程调试定位特定运行环境上出现的问题

    Java后台程序远程调试 第一步:在JVM的启动参数中增加-Xdebug -Xrunjdwp:transport=dt_socket,address=6688,server=y,suspend=n 第 ...

  7. Civil 3D 2017本地化中VBA程序移植到2018版中

    中国本地化包简直就是一块鸡肋, 但对于某些朋友来说还真离不了: 可惜中国本地化包的推出一直滞后, 在最新版软件出来后1年多, 本地化还不一定能够出来, 即使出来了, 也只能是购买了速博服务的用户才能得 ...

  8. Delphi应用程序的调试(十)调试器选项

    可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局 ...

  9. Delphi应用程序的调试(五)其他调试工具

    Delphi应用程序的调试(五)其他调试工具 Delphi7中提供了一些附加调试工具来帮助用户检查程序错误.从性能上讲,其中一些工具属于高级调试工具.尽管高级调试工具不像其他工具那样常用,但对于经验丰 ...

随机推荐

  1. 20165101刘天野 2018-2019-2《网络对抗技术》Exp1 逆向与Bof基础

    20165101刘天野 2018-2019-2<网络对抗技术>Exp1 逆向与Bof基础 1. 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执 ...

  2. Book Review of "The Practice of Programming" (Ⅰ)

    The Practice of Programming In the preface, the author illustrates four basic principles of programm ...

  3. javascript-实现小抽奖程序

    直接上代码 <style> *{ margin: 0; padding:0;} .prize_wrap{ width: 300px; height: 150px; } .prize_wra ...

  4. Spring AOP(3)

  5. 多线程-栅栏CyclicBarrier

    上一篇总结了闭锁CountDownLatch,这一篇总结一下栅栏CyclicBarrier.它们两者之间的区别主要是,闭锁是等待一个事件发生,比如上一篇的田径比赛,运动员等待裁判哨声一响就可以开始跑, ...

  6. LeetCode第[14]题(Java): Longest Common Prefix

    题目:最长公共前缀 难度:EASY 题目内容: Write a function to find the longest common prefix string amongst an array o ...

  7. linux的一些操作

    在终端输入cat /etc/issue 查看ubuntu的半磅不知道ubuntu特权用户root的密码时:Ubuntu在默认情况下是不启用root用户的,所以这对于一下对于linux命令不熟悉的用户在 ...

  8. TimeSpan 结构(struct)

    TimeSpan 是结构类型(struct),即值类型,可以通过两个DateTime(struct)之差来获得,如下例子: DateTime departure = new DateTime(2010 ...

  9. 5.8 页面对象(Page Object)模式

    页面对象(Page Object)模式是目前自动化测试领域普遍使用的设计模式之一,此模式可以大大提高测试代码的复用率,提高测试脚本的编写效率和维护效率,是中级自动化测试工程师的必备技能之一. 1.页面 ...

  10. mysql数据库(二):查询(SELECT)

    一. 数据库查询—查询(SELECT) 单表查询 多表联合查询 二. 查询—单表查询 查询特定字段: select <字段1,字段2,...> from <表名>; 示例:查询 ...