VB.NETのレガシーコードを眺めていたところ、1つの文字列を特定文字列で分割し配列に収めるという処理を力技でやっている関数にぶち当たった。だいたいこんな感じ。 orgStr = "あ,いうえ,お" delim = "," d1 = 0 d2 = 0 Do ' 次の区切り文字の位置を取得 If i = 0 Then d2 = InStr(1, orgStr, Chr(delim)) Else d2 = InStr(d1 + 1, orgStr, Chr(delim)) End If If d2 > 0 Then ' 次の区切り文字までの部分文字列を配列に取得 If i = 0 Then destArr(i) = Mid(orgStr, 1, d2) Else destArr(i) = Mid(orgStr, d1 + 1, d2 - d1) End If Else ' 最後の区切り文字以降