如何在Excel VBA中调试运行时语法错误?

时间:2011-11-01 03:19:38

标签: excel vba

我有一个Excel VBA项目,它使用MSXML2.XMLHTTP将Web内容导入Excel。一切都很好,除非有时我在脚本运行时遇到这个错误:

error dialog

无论我点击哪个按钮(是或否),脚本都会继续正常运行,一切正常(即所有内容都正确加载到Excel中)。但是,我想首先防止此错误弹出,因为在宏运行时弹出这个错误的用户体验。

VBA项目甚至没有344行,所以我不确定错误指的是哪一行。有没有人知道如何解决这个问题,或者至少阻止这个错误对话框出现?

2 个答案:

答案 0 :(得分:1)

一次手动取出10页后,我终于到达了第416页的有问题的页面。事实证明,我的436页列表中的这一页返回格式错误的XMLHttpReq.responseText,因此该行触发了此特定页面的运行时错误:

HTMLDoc.body.innerHTML = XMLHttpReq.responseText

要解决此问题,我必须将XMLHttpReq.responseText保存到变量中,修改源代码以使其成为有效的HTML,然后将其分配给HTMLDoc。

感谢所有花时间回复的人。

答案 1 :(得分:0)

你可以在可能导致此错误的行之前使用on error resume next,然后在完成后使用on error goto 0吗?这要求你确定哪个XMLHTTP调用可能会导致麻烦,我不知道,调试.print到处都是,看看哪一行可能有问题?

我准备进行downvote:p