Excel VBA質問箱 IV

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

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


3749 / 13645 ツリー ←次へ | 前へ→

【60369】効率の良いテキストファイルの総レコード数の取得方法 matt 09/2/14(土) 21:38 質問[未読]
【60370】Re:効率の良いテキストファイルの総レコー... neptune 09/2/14(土) 22:35 回答[未読]
【60371】Re:効率の良いテキストファイルの総レコー... stream 09/2/15(日) 0:29 お礼[未読]
【60376】Re:効率の良いテキストファイルの総レコー... matt 09/2/15(日) 13:31 お礼[未読]

【60369】効率の良いテキストファイルの総レコード...
質問  matt  - 09/2/14(土) 21:38 -

引用なし
パスワード
   内容は表題の通りとなります。

数十万行程度のテキストファイルの処理中に
処理が総レコード数のどの程度まで行われているかを
StatusBarへ表示しています。

しかし、総レコード数を求める際の効率の良いやり方がわからず
1件ずつLine Inputで最終レコードまで
カウントを取りながら読み込み、
その後、ファイルをopenし直して頭から再度処理を行っています。

上記以外の方法で
総レコード数を取得する良い方法がありましたら教えて頂きたいです。

【60370】Re:効率の良いテキストファイルの総レコ...
回答  neptune  - 09/2/14(土) 22:35 -

引用なし
パスワード
   ▼matt さん:
・形式がCSVで、同一フィールド数を持っているレコードなら
SQL投げる方法もありますね。

・fsoでreadall、その後確か行数もとめるメソッド?があったと思うんで
 それを使うとか。

・数10Mならバイト読み込みで一気読み、その後vbcrlfでsplit,要素数取得

等が思い浮かびます。

【60371】Re:効率の良いテキストファイルの総レコ...
お礼  stream  - 09/2/15(日) 0:29 -

引用なし
パスワード
   >上記以外の方法で
>総レコード数を取得する良い方法がありましたら教えて頂きたいです。

FileSystemObjectを用いれば簡単に取得出来ますけど...
(TextStreamオブジェクトのLineプロパティ)
具体的には以下などが参考になるでしょう。
ht tp://homepage2.nifty.com/kmado/kvba.htm
E00M092 FileSystemObjectの便利メモ
'テキストファイルの行数取得

【60376】Re:効率の良いテキストファイルの総レコ...
お礼  matt  - 09/2/15(日) 13:31 -

引用なし
パスワード
   ▼neptune さん
▼stream さん

ご回答ありがとうございました。
共に実測して処理速度が速い方を使用させて頂きます!

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