Vbscript Word宏错误消息

Vbscript Word宏错误消息,vbscript,ms-word,Vbscript,Ms Word,我正在更改文档模板宏。有一件事我不知道该怎么做,那就是自定义错误消息。例如,文档中的错误消息是 “错误!找不到地物表条目” 我想将此更改为显示其他内容。是否可以使用Word VBA或VBScript执行此操作?如果要捕获VBA中的特定错误类型,一种方法是在错误恢复下一步使用,然后在捕获操作后的行上测试错误消息,例如: On Error Resume Next ' try action If Err.Number <> 0 Then ' handle w/ custom messa

我正在更改文档模板宏。有一件事我不知道该怎么做,那就是自定义错误消息。例如,文档中的错误消息是

“错误!找不到地物表条目”


我想将此更改为显示其他内容。是否可以使用Word VBA或VBScript执行此操作?

如果要捕获VBA中的特定错误类型,一种方法是在错误恢复下一步使用,然后在捕获操作后的行上测试错误消息,例如:

On Error Resume Next
' try action
If Err.Number <> 0 Then
  ' handle w/ custom message
  Err.Clear
End If
出错时继续下一步
“尝试行动
如果错误号为0,则
'带自定义消息的句柄
呃,明白了
如果结束

如果您知道确切的错误号(
如果Err.number=N那么
),那当然会更好。

如果您正在谈论拥有一个自定义消息框,那么这很容易。 有关更好的信息,请在VBA帮助中查找“msgbox”

Msgbox("Error! No table of figures entries found",16,"Error")
第16条使其成为“关键”信息

如果您正在谈论错误捕获,那么您需要这样的代码:

On Error Resume Next
n = 1 / 0    ' this causes an error
If Err.Number <> 0 Then 
    n = 1
    if Err.Number = 1 Then MsgBox Err.Description
End If
出错时继续下一步
n=1/0'这会导致错误
如果错误号为0,则
n=1
如果Err.Number=1,则MsgBox Err.Description
如果结束
抛出错误时,会为Err对象提供一个数字和描述


有没有可能把这个放在某个地方 全局错误处理程序的类型?–克雷格

这是可能的。这是一个非常粗略的例子

在标准模块中:

Sub HandleErr(ErrNo As Long)
    Select Case ErrNo
    Case vbObjectError + 1024
        MsgBox "No table of figures entries found.", vbOKOnly + vbCritical

    Case vbObjectError + 1034 To vbObjectError + 4999
        MsgBox "Still no table of figures entries found.", vbOKOnly + vbCritical

    Case Else
        MsgBox "I give up.", vbOKOnly + vbCritical, _
            "Application Error"
    End Select
End Sub
一些代码:

Sub ShowError()
Dim i As Integer

On Error GoTo Proc_Err

    'VBA Error
    i = "a"

    'Custom error
    If Dir("C:\Docs\TableFigs.txt") = "" Then
        Err.Raise vbObjectError + 1024
    End If

Exit_Here:
    Exit Sub

Proc_Err:
    If Err.Number > vbObjectError And Err.Number < vbObjectError + 9999 Then
        HandleErr Err.Number
    Else
        MsgBox Err.Description
    End If
End Sub
Sub-ShowError()
作为整数的Dim i
关于错误转到程序错误
'VBA错误
i=“a”
'自定义错误
如果Dir(“C:\Docs\TableFigs.txt”)=“那么
错误。引发vbObjectError+1024
如果结束
从这里退出:
出口接头
过程错误:
如果错误号>vbObjectError且错误号
是否可以将其放入某种全局错误处理程序中?消息是如何显示的?作为插入到文档中的文字,或作为弹出窗口?作为插入到文档中的文字。