ユーザーが指定した エラー番号 を含むサブタイプ Error の Variant を返します。
構文
CVErr ( errornumber )
必須の errornumber引数 は任意の有効なエラー番号です。
解説
ユーザーが作成したプロシージャでユーザー定義のエラーを作成するには、CVErr 関数を使用します。 たとえば、複数の引数を使用し、通常は文字列を返す関数を作成する場合、関数で入力引数を評価して、値が許容範囲内になるようにすることができます。 そうしないと、関数が期待どおりの値を返さない可能性が高くなります。 この場合、CVErr を使用すると、エラー番号が返されるので、対処方法を判断できます。
Error の暗黙的な変換は許可されません。 たとえば、CVErr の戻り値を Variant ではない変数に直接割り当てることはできません。 ただし、(CInt、CDbl などを使用して) CVErr から返される値の明示的な変換を実行し、それを適切なデータ型の変数に割り当てることができます。
例
注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では、CVErr 関数を使用して VarType が vbError (10) の Variant を返します。 渡される引数が数値ではない場合、ユーザー定義関数 CalculateDouble はエラーを返します。 CVErr を使用して、ユーザー定義プロシージャからユーザー定義エラーを返すか、ランタイム エラーの処理を保留することができます。 IsError 関数を使用して、値がエラーを示すかどうかをテストします。
' Call CalculateDouble with an error-producing argument.
Sub Test() Debug.Print CalculateDouble("345.45robert") End Sub ' Define CalculateDouble Function procedure. Function CalculateDouble(Number) If IsNumeric(Number) Then CalculateDouble = Number * 2 ' Return result. Else CalculateDouble = CVErr(2001) ' Return a user-defined error End If ' number. End Function