タイトル : エラー処理追加(修正) 投稿日 : 2009/11/11(Wed) 13:10 投稿者 : S.Eleven
エラーが起きない前提で作っていました申し訳ありません エラー処理を追加しましたので載せます。 '========================================================== '文字列と文字列の間の文字列を取得(トリミング)する '========================================================== ' result = Extex("ABCD123EFG","ABCD","EFG") ' ' 引数 Origin :対象文字列 (ABCD123EFG) ' LSideword :前方文字列 (ABCD) ' RSideword :後方文字列 (EFG) ' ' 戻値 result :結果 (123) ' エラー : err.0(前方文字列が見つかりません), ' : err.1(後方文字列が見つかりません), ' : err.2(不明のエラー), ' : err.3(第一引数(Origin)が空です), ' : err.4(第二引数(LSideword)が空です), ' : err.5(第三引数(RSideword)が空です) '---------------------------------------------------------- Public Function Extex(Origin As Variant, LSideword As String, RSideword As String) As Variant On Error GoTo ferr Dim Dt As Variant If Origin = "" Then Extex = "err.3" GoTo fend Else If LSideword = "" Then Extex = "err.4" GoTo fend Else If RSideword = "" Then Extex = "err.5" GoTo fend End If End If End If Dt = InStr(Origin, LSideword) If Dt = 0 Then Extex = "err.0" GoTo fend End If Dt = Mid(Origin, Dt + Len(LSideword), Len(Origin)) Extex = Dt Dt = InStr(Extex, RSideword) If Dt = 0 Then Extex = "err.1" GoTo fend End If Extex = Mid(Extex, 1, Dt - 1) GoTo fend ferr: Extex = "err.2" fend: End Function |