2012-07-16 51 views

回答

6

你要做的就是错误处理。

看到这个例子。您可以使用陷阱Err.Number

Sub Sample() 
    On Error GoTo Whoa 

    '~~> Rest of the code 

    Exit Sub 
Whoa: 
    Select Case Err.Number 
     Case 9 
      MsgBox "Message1" 
     Case 1004 
      MsgBox "Message2" 
    End Select 
End Sub 

随访

Sub Sample1() 
    On Error GoTo Whoa 

    '~~> Rest of the code 

    Exit Sub 
Whoa: 
    MsgBox GetErrMsg(Err.Number) 
End Sub 

Sub Sample2() 
    On Error GoTo Whoa 

    '~~> Rest of the code 

    Exit Sub 
Whoa: 
    MsgBox GetErrMsg(Err.Number) 
End Sub 

Function GetErrMsg(ErNo As Long) As String 
    Select Case ErNo 
     Case 9 
      GetErrMsg = "Message1" 
     Case 1004 
      GetErrMsg = "Message2" 
     Case Else 
      GetErrMsg = "Message3" 
    End Select 
End Function 
+0

甜和简单,代码的最佳类型的错误号,谢谢:)只有一个问题,这是否必须进入每个部分,或者可以创建它自己的模块? – 2012-07-16 14:47:16

+0

它必须进入每个部分。但你可以写一个通用的程序,你想要做什么例如...看到更新的代码... – 2012-07-16 15:17:58

+0

再次感谢,正是我需要的:) – 2012-07-16 16:01:30