Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


22713 / 76732 ←次へ | 前へ→

【59396】Re:でっかいCSVをExcelでサクッと開きたい
発言  kanabun  - 08/12/9(火) 18:47 -

引用なし
パスワード
   ▼りった さん:

こんにちは。
>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)
じゃないですか?

1 hits

【59391】でっかいCSVをExcelでサクッと開きたい りった 08/12/9(火) 17:08 質問
【59395】Re:でっかいCSVをExcelでサクッと開きたい n 08/12/9(火) 18:38 発言
【59396】Re:でっかいCSVをExcelでサクッと開きたい kanabun 08/12/9(火) 18:47 発言
【59400】Re:でっかいCSVをExcelでサクッと開きたい Hirofumi 08/12/9(火) 21:43 発言
【59407】Re:でっかいCSVをExcelでサクッと開きたい Yuki 08/12/10(水) 8:44 発言
【59415】全部に返信 りった 08/12/10(水) 16:08 発言
【59416】┏(;〃。_ 。〃)┓すみません りった 08/12/10(水) 16:43 発言
【59419】Re:┏(;〃。_ 。〃)┓すみません neptune 08/12/10(水) 17:01 発言
【59451】Re:┏(;〃。_ 。〃)┓すみません りった 08/12/11(木) 17:16 発言
【59544】ヘ(´_`)ヘ りった 08/12/17(水) 20:12 お礼
【59418】Re:全部に返信 neptune 08/12/10(水) 16:55 発言

22713 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free