CSVの各要素を配列に代入
CSVファイルの1行のデータを渡すと、各要素が入った1次元の配列を作成して返します。(動的配列の使用サンプル)
VB6の場合、同じ動きをするSplit関数ってがあるので意味ないんですけどね・・・。
Private Function CSVtoDisposion(CSV_SOURCE As String) As Variant Dim Work_str() As String Dim COMMA_Count As Integer Dim I As Integer 'CSV→配列変換 'カンマの数を取得 COMMA_Count = 0 For I = 1 To Len(CSV_SOURCE) If Mid(CSV_SOURCE, I, 1) = "," Then COMMA_Count = COMMA_Count + 1 End If Next I '配列の割り当て ReDim Work_str(COMMA_Count) '配列の初期化 For I = 0 To UBound(Work_str) Work_str(I) = "" Next I '各配列に項目の内容をセット COMMA_Count = 0 For I = 1 To Len(CSV_SOURCE) If Mid(CSV_SOURCE, I, 1) = "," Then COMMA_Count = COMMA_Count + 1 Else Work_str(COMMA_Count) = Work_str(COMMA_Count) + Mid(CSV_SOURCE, I, 1) End If Next I '配列を戻り値にセット CSVtoDisposion = Work_str End Function
1次元の動的配列を作成し、カンマの数をカウントして配列を再定義して、CSV各要素の内容を各配列の要素にセットしています。
使用方法は
Dim varHogehoge As Variant varHogehoge = CSVtoDisposion("1,2,3,4,5")ちなみに、Split関数なら
Dim varHogehoge As Variant varHogehoge = Split("1,2,3,4,5", ",")と、なります。
CSVの各要素取得以外にも、"\"で同じ処理を行えばフルパスの各フォルダ名を取得したり。URLのディレクトリの取得したりできると思います。
[ Window Close ]