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且错误号
是否可以将其放入某种全局错误处理程序中?消息是如何显示的?作为插入到文档中的文字,或作为弹出窗口?作为插入到文档中的文字。