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

投稿時間:2005/06/13(Mon) 17:48
投稿者名:pepu
Eメール:th@try.104.net
URL :
タイトル:
テキストファイルの処理
テキストファイル(単一列)の読み書きでなやんでおります。
約10万レコードあるデータ(テキストファイル)を検索し、
ヒットしたレコードのみ書き換えたいと思っております。
レコード長が一定でないので、ランダムファイル処理は使えません。
よろしく御願い致します。

投稿時間:2005/06/13(Mon) 18:24
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: テキストファイルの処理
この手の質問は下手に回答すると、説明不足ですみませんが返ってくるパターンかと思います。
単にテキストファイルと言っても、私が考えているテキストファイルと貴方が言っている
テキストファイルが同じ物とは限りません。
そのテキストファイルがどのような物かによっても変ってきます。
又、どのような状態で(表示状態・読み込み時)編集したいのか?、その後の処理はどのように
するのか(編集してから保存終了と編集後表示したり印字する場合ではやり方が違う)
必ず、行単位で書き換えなければならないのか?検索置き換えではだめなのか?
書き換えたい文字列が何種類もあるのか? 等色々細かい条件によってかなりやり方が変って
きますし、処理速度もやり方ひとつで大きく変ってきますので細かい条件が解らない内はやりようが
ないかと思います。

> レコード長が一定でないので、ランダムファイル処理は使えません。
一定でなくても(元々のデータが)ランダムファイルで処理する事もできます。
過去のログを検索すれば同様の事がいくらでもでてきますので、ご自分にあった方法を色々
試して見る事ですね。
そこで何か問題や疑問でもあれば答える事ができるかも知れませんが、私はどこへ行けばいいの
ですか的な質問は・・・・・。

投稿時間:2005/06/14(Tue) 13:25
投稿者名:pepu
Eメール:th@try.104.net
URL :
タイトル:
Re: テキストファイルの処理
早速のご回答ありがとうございました。

 おっしゃる通り<説明不足ですみません>パターンでした。

過去ログと逆引きヘルプを参考にさせて頂き何とか解決することができました。
 漠然と"テキストファイル"と書きましたが、内容はCAD図面データです。
当方使用CADはテキスト形式で保存されているため、エディタ等で開く事が可能です。
CADを使用せずに複数図面のデータをVBから修正したい事が目的です。
CAD図面をメモ帳で開くと

例)

#~2
2
TC41:1
TC5:46
BC_DRW
6
TC61:50
TC62:1388
TC63:4032
TC71:4693
TC81:5354
PLAST:6014
M_HYOU
7
TC61:6015
TC62:6576
TC63:7119
TC71:71
         ・
    ・
    ・
    ・
となっており、"BC_DRW"を検索したら次行の6を7に変更する等数箇所変更を
行う処理でした。変更後ファイルに保存して終了です。

今回は、ランダムファイルの処理が解らなかったので
逆引きヘルプにありましたFileSystemObject(とても便利ですね。VBで使えるとは知り
ませんでした)と配列を使い、一度配列に落とし、配列上にてデータを更新して
一行目からファイルへ書出す処理にて行う事にしました。
データの行数(多いデータで50万行)あるにも関わらず高速に処理できそうです。

ありがとうございました。
又何かありましたら、質問させて頂こうと思っております。