[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/09/09(Fri) 14:44
投稿者名:赤馬
Eメール:
URL :
タイトル:
csvファイルをバリアント配列へ読み込み時
次のようなcsvファイルを2次元のバリアント配列に格納しています.

○読込記述
Dim varCell(10,10) As Variant

For i = 1 To 10
For j = 1 To 10
    Input #intFNo, varCell(i,j)
Next j
Next i

○データ例
100,6時,…
101,7時,…

ここで読み込まれた配列を覗いてみると,
「6時」と格納されるべきが「6」と格納されてしまいます.
試したところ,先頭が半角数字だとその後は格納されないようです.

正しく読み込むための回避策などありましたらご助言よろしくお願いします.

投稿時間:2005/09/09(Fri) 18:57
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: csvファイルをバリアント配列へ読み込み時
> 正しく読み込むための回避策などありましたらご助言よろしくお願いします.

データ(CSVファイルの時点で)を 100,"6時", のように設定するか
読み込み時に、一旦文字列変数に読み込んでから、Variant 型の配列に移せば
問題ないかと、現状では、数値として扱われているものと思います。

投稿時間:2005/09/10(Sat) 14:38
投稿者名:赤馬
Eメール:
URL :
タイトル:
Re^2: csvファイルをバリアント配列へ読み込み時
> > 正しく読み込むための回避策などありましたらご助言よろしくお願いします.
>
> データ(CSVファイルの時点で)を 100,"6時", のように設定するか
> 読み込み時に、一旦文字列変数に読み込んでから、Variant 型の配列に移せば
> 問題ないかと、現状では、数値として扱われているものと思います。

花ちゃんサン,さっそくのご助言ありがとうございます.
どちらの方法でも正しく格納することができました.
後者の方法を採用させてもらおうと思います.

ちなみにVBでのcsvでは,文字列データは""で囲むというのが一般的なのでしょうか?

投稿時間:2005/09/10(Sat) 14:51
投稿者名:よろずや
Eメール:
URL :
タイトル:
Re^3: csvファイルをバリアント配列へ読み込み時
> ちなみにVBでのcsvでは,文字列データは""で囲むというのが一般的なのでしょうか?
はいそうです。
エクセルはそうなってませんので皆さん勘違いしますが、""で囲むというのが正しいです。

投稿時間:2005/09/11(Sun) 21:11
投稿者名:赤馬
Eメール:
URL :
タイトル:
Re^4: csvファイルをバリアント配列へ読み込み時
> > ちなみにVBでのcsvでは,文字列データは""で囲むというのが一般的なのでしょう
か?
> はいそうです。
> エクセルはそうなってませんので皆さん勘違いしますが、""で囲むというのが正しいで
す。

よろずやサン,コメントありがとうございます.
おっしゃるとおりエクセルのcsv保存を見て,そう思っていました.

データファイル整備で文字列は""でくくるよう心がけます
ありがとうございました