4

エラー 1004 が表示された場合はメッセージ "Message" を表示し、エラー 9 の場合はメッセージ "Message2" を表示する代わりに、一般的な非記述子のオタクがエンド ユーザーにメッセージを話す方法はありますか?

4

1 に答える 1

7

あなたがやろうとしていることはエラー処理と呼ばれています。

この例を参照してください。を使用してエラー番号をトラップできます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
于 2012-07-16T14:25:29.963 に答える