|
▼sin さん:
出来るようです。
自分も初めて知りました。
勉強になります^^
なんだか二次元配列みたいになってますが、
あってるのかな??
Sub test4()
Dim get_res() As String
Dim i As Integer
get_res = testf2("aaa,bb,cccc,ddd")
For i = LBound(get_res) To UBound(get_res)
MsgBox get_res(i)
MsgBox TypeName(get_res(i))
Next i
MsgBox UBound(get_res)
MsgBox testf2("aaa,bb,cccc,ddd")(0)
MsgBox TypeName(testf2("aaa,bb,cccc,ddd")(0))
End Sub
Function testf2(str As String) As String()
Dim stp As Integer 'ストップ位置
Dim stt As Integer 'スタート位置
Dim cnt As Integer '配列の要素数
Dim res_str() As String '結果保存用配列
stt = 0
cnt = 0
stp = 1
Do Until stp = 0
ReDim Preserve res_str(cnt)
stp = InStr(stt + 1, str, ",") 'カンマ位置の取得
If stp <> 0 Then 'カンマが検出された場合の処理
res_str(cnt) = Mid(str, stt + 1, stp - stt - 1)
cnt = cnt + 1
stt = stp
Else 'カンマが検出されかった場合の処理
res_str(cnt) = Mid(str, stt + 1, Len(str) - stt)
End If
Loop
testf2 = res_str
End Function
|
|