• ベストアンサー

テキストファイル操作

VB6ですが、Aというフォルダに書き込まれた050416110311AAA.txt(050416110311は書き込まれた時間で違う)ファイルをBというフォルダのAAA.txtに追加書き込むやり方教えて頂きますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

どの部分が判らないのでしょうか? 読み込むファイル名を知る方法でしょうか? ファイルを追加書きこみする方法でしょうか? 丸投げはいかがなものかと思います。 苦言はこのぐらいにして、 ファイルの検索には Dir を使います。 ファイルの追加書きこみは、ファイルオブジェクトを使う方法も有りますが、 私は昔ながらの、Open,Close,Input等を使います。 サンプルを示しますが、 変数宣言は省略しています。 記憶のみで書いたので、間違っているかもしれません。 インデントのために、スペースを全角にしています。 Private Sub Main   SrcFolder = "A"   SrcFile = ""   SrcFile = Dir(SrcFolder)   Do While SrcFile <> ""     Call HogeHoge(SrcFile)     SrcFile = Dir   Loop End Sub Private Sub HogeHoge(FileName As String)   SrcFolder = "A"   DstFolder = "B"   SrcFile = SrcFolder & "\" & FileName   DstFile = DstFolder & "\" & "AAA.txt"   FilNo1 = FreeFile   Open SrcFile For Input As #FilNo1   FilNo2 = FreeFile   Open DstFile For Append As #FilNo2   Do While Not Eof(FileNo1)     Line Input #FilNo1,strWork     Print #FilNo2,strWork   Loop   Close #FilNo1   Close #FilNo2 End Sub

akaricyan
質問者

お礼

本当ですね、、殆んどわからないのです。 書いていただいたソースはよくわかります。 ありがとうございます。

akaricyan
質問者

補足

いやよくわかりました。 Dirですね、、すばらしい。 わからないことばかりで困っています。 また、よろしくお願い致します。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

Shell "CMD.EXE /c COPY C:\B\AAA.txt + C:\A\050416~1.txt C:\B\AAA.txt " (98,Me は、"Command.com /C ") 昔ながらなら、DOSのCopy を使ってしまえば、簡単ですが、場合によっては、上記のように、ショート・ファイルネームにしなければとなると、"Scripting.FileSystemObject" を使って、パスを取得しなければならなくなり、ぼやけたコードになるような気がします。ただ、大きなファイルの時は、ファイルを開かないので有効かもしれません。一応、ご参考までに。

akaricyan
質問者

お礼

参考になりました。 また、ご指導お願い致します。

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.2

FileSystemObjectを検索してみてください。 Win98以降の標準的なライブラリです。

akaricyan
質問者

お礼

ありがとうございます。 見ましたけどなかなかわかりにくいです。

関連するQ&A