如何不让VBA调试?

drason 2005-03-13 09:18:07
现有一java程序,调用Excel的VBA的Macro程序。

当VBA出现错误的时候,会弹出一个调试的对话框,如果选择“Debug”,则进入VBA的编辑器进行调试。

请问,如何不允许VBA程序弹出这个调试的对话框,而直接返回,(最好能把错误告诉java程序)

谢谢!
...全文
210 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
drason 2005-03-16
  • 打赏
  • 举报
回复
再up
drason 2005-03-15
  • 打赏
  • 举报
回复
up
drason 2005-03-14
  • 打赏
  • 举报
回复
首先谢谢你的回答

其实java调用macro,java本身是完全不知道macro有error的,因为在弹出调试对话框的时候,只要不结束调试,java会永远的等下去的。除非结束了调试,java才知道有error,但其实java也不知道具体什么error的。

所以,我觉得如果可以屏蔽掉macro的调试,那就可以了。
techgopher 2005-03-14
  • 打赏
  • 举报
回复
如果你不能改已有macro的话,可以考虑加一个新的macro把已有macro包装起来,并在里面做错误处理。如:
function mymacro(...) as ...
on error goto ErrorHandler
originalmacro ...
ErrorHandler:
msgbox "VBA错误" & err.Number & ": " & err.Description
end function
techgopher 2005-03-14
  • 打赏
  • 举报
回复
on error指令只对当前function/sub有用。如果你调用的macro有限的话,在被直接调用的macro里加就够了。

不知道在java这边如何避免。建议到java版去问。我猜想是要处理COM的Exception。
drason 2005-03-13
  • 打赏
  • 举报
回复
我查了一下error对象不是只应用于一部分的对象吗? 并不是所有的对象在发生错误的时候就执行on error的处理吧?

我是新手,说错了请指正,谢谢!
drason 2005-03-13
  • 打赏
  • 举报
回复
因为macro是很早写好的(不是我写),不好改动
而且之前是用PB调用这些Macro的,如果出错,PB不会弹出调试的对话框

我想知道怎么样才能在java调用也不出对话框。

谢谢!

(说明一下,java是通过jacob来调用excel的macro的)
techgopher 2005-03-13
  • 打赏
  • 举报
回复
去学学VB里的错误处理吧。你可以在VBA里加上on error resume next或者on error goto ...来避免错误信息。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧