|
▼りった さん:
こんにちは。
>Open x For Binary As y で読む方法を検討中です。
>しかし、コーディングしてみたところ遅いです。
>(推測ですが、Nバイト目でなくN文字目と見てるので、でかくなるとやたらと時間かかるんですかね。)
その方法はいろいろあるテキストファイルの読み込み法のなかで、最速の
方法です。(APIと同等かそれ以上)
なので、問題は その
> CSVの書式
にあると思います。
とくに、
>・ダブルクォーテーション内に改行が有りうる。改行コードは複数種類有り得る様子。(CR,LF,CRLF)
フィールドデータの中に CRLFがあったら、一括読み込んだデータを
行に分割することすらできなくなります。
そのような書式で出力する必要がほんとにあるのか? そこまで戻って
吟味したほうがよろしいかと思います。
そういう特殊なコードを持たない 普通のダブルクォート付きのCSVファイルなら、
拡張子を .txt に変えてOpenTextメソッドで開くか、
同じことですが、
メニュ−[データ]−[外部データの取り込み]−
[テキストファイルのインポート]
から、テキストファイルウィザード使って 列のデータ型を指定して読み込む
ほうが、はるかに安全で高速です。
テキストファイルウィザード使えば、日付の書式も「YMD」とか指定できますし。
あと、蛇足です。
> ReDim buff(iLen)
> Open sPath For Binary As #FNo
> Get #FNo, , buff
読み込みサイズが 1バイト多いですね?
ReDim buff(1 To iLen)
じゃないですか?
|
|