加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从VB脚本运行Excel宏,但不提示VBA运行时错误

发布时间:2020-12-17 07:12:42 所属栏目:百科 来源:网络整理
导读:我想从VB脚本中运行Excel宏,但是没有VBA就会给出运行时错误提示,即使宏有未捕获的运行时错误. 理想情况下,我想捕获实际的运行时错误消息,但我很高兴能够在不与对话框交互的情况下恢复脚本. 这是我所说的最简单的例子. test.vbs: Option Explicit Dim Excel:
我想从VB脚本中运行Excel宏,但是没有VBA就会给出运行时错误提示,即使宏有未捕获的运行时错误.

理想情况下,我想捕获实际的运行时错误消息,但我很高兴能够在不与对话框交互的情况下恢复脚本.

这是我所说的最简单的例子.

test.vbs:

Option Explicit 

Dim Excel: set Excel = CreateObject("Excel.Application")
Dim wb: set wb = Excel.Workbooks.Open("C:Temptest.xls")

On Error Resume Next
Excel.run "Hello"
On Error Goto 0

wb.Close
Excel.Quit

在名为test.xls的Excel电子表格的module1中:

Option Explicit

Sub Hello()
    Dim x As Integer
    x = 1 / 0 ' Just causing an error for this example's purposes
End Sub

关于这个问题背后的动机的简短解释.这是一个自动化任务,除了我无法更改需要自动化的宏的代码,因此我无法控制我调用的宏是否会有未捕获的运行时错误.

Stackoverflow上有许多关于使用VB脚本运行Excel宏的问题,但是我无法找到能够抑制VBA运行时错误提示的任何地址.

解决方法

请在Sub rountine之后输入错误继续下一步

选项明确

Sub Hello()
On Error Resume Next
' Please include the error statement after sub routine.
    Dim x As Integer
    x = 1 / 0 ' Just causing an error for this example's purposes
End Sub

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读