「CSVファイル」のデータを配列変数に読み込むには Input関数がありますが
「CSV形式の文字列」(例 a,b,c,d,e,f,g)を配列変数に読み込むには
どうすればよいでしょうか?
イメージ的には下記のようなことをしたいのです。
Buf = a,b,c,d,e,f,g
Do While xxx
Input( Buf, moji(i) )
Loop
として moji(1)にa、 moji(2)にb ... と代入したいのですが
Input関数は指定したファイル番号からの読込みしかできないので
何かスマートな方法はありますでしょうか?
1行単位で読み込むなら、Line Input #ステートメントを使うと良いでしょう。
全体を一括して読み込むなら、TextStreamオブジェクトのReadAllメソッドなども利用できます。
補足です。
処理したいcsv形式の文字列は
aa,bbb,c,dddd,ee,fff,g, ...
と不規則な文字数になっています。
魔界の仮面弁士さま
さっそくの返信ありがとうございます。
LineInputもTextStreamも読み込むことができるのはファイルからですよね?
ファイルからではなく、ユーザーが複数回 入力する文字列を
「,」で区切ってBufに溜め込んでおいて、入力が終了した時点で
配列変数に入れたいのですが、、
Input関数を使う前提でいったんファイルに保存してからでないと
うまく処理できないでしょうか?
Split関数で区切り文字を「,」にしてやればできます
編集 削除ぶんた様
Split関数で出来ました。本当にありがとうございました!
P.S 迅速にご意見をいただけるこの場の皆様にも感謝すると同時に
自分の勉強不足を痛感しました。