文字列から抽出したい文字の前と後の文字を探してFrom~Toの間の文字を抜き取るFromの検索文字は左からn番目(インデックス)対応 ※ダブルコーテーションの書き方は使用例を参照
<分類:値抜き取り>
<使用例:文字列から特定の文字の抽出>
<プログラム例>
Sub 使用例() Dim s As String Dim s2 As String Dim fr_moji As String Dim to_moji As String Dim fr_ix As Long Dim s0 As String '文字中のダブルコーテーションの書き方は"を2つ記述して""のように書く s = "C:\Users""\aaa\Desktop""\test.xls" fr_moji = "Users""" fr_ix = 1 to_moji = """" s0 = s s2 = 共通_文字列抜出し(s, fr_moji, fr_ix, to_moji) MsgBox ("元の文字は" & s0 & Chr(13) & "From検索文字は" & fr_moji & "(" & fr_ix & "番目)" & Chr(13) & " To検索文字は" & to_moji & " ※From検索文字以降の文字列が対象" & Chr(13) & "From~Toの間の文字(抜き取り文字)は " & s2 & "です") End Sub Function 共通_文字列抜出し(p1, p2, p3, p4) Dim i As Long Dim cnt As Long Dim mojisu As Long Dim mojisu2 As Long mojisu = Len(p1) mojisu2 = Len(p2) cnt = 0 共通_文字列抜出し = "" '出現回数分処理 For i = 1 To p3 If InStr(p1, p2) > 0 Then p1 = Mid(p1, InStr(p1, p2) + mojisu2, mojisu - InStr(p1, p2) + mojisu2) mojisu = Len(p1) cnt = cnt + 1 End If Next i If cnt = p3 Then If InStr(p1, p4) > 0 Then 共通_文字列抜出し = Mid(p1, 1, InStr(p1, p4) - 1) End If End If End Function