文字操作 文字中の指定文字と指定文字間の文字を全て検索
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
Sub SearchAllLettersBetween(str As String, strFoundFront As String, strFoundBack As String) '************************************************ '文字中の指定文字と指定文字間の文字を全て検索 '************************************************ '引数strは対象文字群 '引数strFoundFrontは前方検索対象文字 '引数strFoundBackは後方検索対象文字 '<例> 'str = "zyzyzyzabc="def"zyzyzyzabc="ghij"zyz" 'strFoundFront = "abc=" 'strFoundBack = """" '返値は [abc="def"] と[abc="ghij"] になります。 '<解説> 'Replace関数で一度検索したものは全て消すところがミソ! '検索文字がなくなるまで実行します。 '書き出したい場合は[Debug.Print Xa]の個所を改変してください。 Dim i As Long, Xa As String, Xb As Long reTRY: '再帰① i = InStr(1, str, strFoundFront) '前方検索対象文字位置 If i = 0 Then GoTo TheEnd: '無ければ終了② Xb = InStr(i + Len(strFoundFront) + 1, str, strFoundBack) '後方検索対象文字位置 Xa = Mid(str, i, Xb - i + 1) '値をゲット Debug.Print Xa str = Replace(str, Xa, "") 'ゲット後は削除する(対象文字群内全て) GoTo reTRY: '再帰① TheEnd: '無ければ終了② End Sub |