|
宜しくお願いします。
下記のテストでは、 testf で文字列をカンマで分解して、
その配列の「要素数」と「配列本体」を tests 受け取りたいと考えています。
Functionプロシージャ や 配列 について色々調べてみましたが、
解決方法が見つかりませんでした。
なにか良い方法があればご教授下さい。
※下記では文字列は"aaa,bb,cccc,ddd"でカンマによって4つに分けられますが、
実際に使用するときは不定です。
―――――――――――――――――――――――――――――――――――――
Sub tests()
Dim get_res As Integer
get_res = testf("aaa,bb,cccc,ddd") '要素数を受け取る
'※※※ここで Function testf の配列 res_str() も受け取りたい※※※
End Sub
Function testf(str As String) As Integer '←ここで何か出来そうな気が・・・
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
testf = cnt '←要素数を戻り値として返す
' res_str() '←この配列も戻り値として返したい
End Function
―――――――――――――――――――――――――――――――――――――
|
|