• 締切済み

VBAで、テキストファイルの編集

プログラムの初心者です。 困ってます。お教え下さい。 VBA上の制御で、あるテキストファイルのデータをコピーして、 別のテキストファイルに貼り付けして、別保存したいのですが、 分かりません。 テキストファイルを開くだけでしたらできたのですが、 それからが・・・・ Call Shell("C:\WINNT\system32\notepad.exe c:\text1.txt") すいません、お教え下さい。

みんなの回答

回答No.4

どのような処理を最終的にご希望かわかりませんが、 以前私が作ったマクロを紹介します。 http://wordvba.cocolog-nifty.com/blog/2009/06/post-dc88.html こちらのブログに掲載してあるのですが、フォルダ内の 全ての(複数の)ワード文書をひとつのワード文書に コピペするマクロです。 ブログの説明にも記載していますが、プログラム文を 変更すれば、テキストファイルにも対応します。 もしかしたら参考になるかと思いました。 テンプレートをダウンロードすれば、コードはそのまま 読めますので、ご参考まで。

参考URL:
http://wordvba.cocolog-nifty.com/blog/
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.3

1~10のファイルを一つのファイルにしたいということですか? であれば 関数として Function AppendFile(InputFile as string,Fp as Integer) as Integer dim Fp2 as Integer Fp2 = freefile OPEN InputFile for Input As fp2 Do While Not EOF(fp2) Line Input #fp2, TextLine1 Print #fp, TextLine1 Loop close fp2 End Function を作成して 呼び出し側 sub Main() dim Fp as Integer dim rtn as integer Fp = freefile OPEN "最終ファイル" for Output As fp rtn = AppendFile("file1.txt",fp) rtn = AppendFile("file2.txt",fp) rtn = AppendFile("file3.txt",fp) rtn = AppendFile("file4.txt",fp) ・ ・ ・ close fp end Sub とするのかな DOSのコマンドを呼び出しするなら shell("COPY FILE1.TXT+FILE2.TXT+FILE3.TXT 結合ファイル名")

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.2

vbaの関数であればOPEN文、PRINT文、WRITE文、INPUT文、LINE INPUT文 この程度を理解すれば対応できると思います。 ヘルプを調べてみればよいでしょう。

ynaka
質問者

補足

ご指摘の通りしてみました。 しかし、この方法だと複数のテキストを一つに まとめれないんですが、できるのでしょうか? ちなみに、こんな感じで作ってみました。 Open "c:\text.txt" For Output As #2 Open "c:\text1.txt" For Input As #1 Do While Not EOF(1) Line Input #1, TextLine1 Print #2, TextLine1 Loop ' Close #1 Open "c:\text2.txt" For Output As #3 Do While Not EOF(2) Line Input #3, TextLine2 Print #2, TextLine2 Loop ' Close #2 Close #3

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

何のVBAをお使いでしょうか? 単純に内容を別ファイルにするなら「COPY 元ファイル 新ファイル」で コピーできそうに思います。 開いて内容を編集して、という場合は別処理が必要ですが Excel、Word、ACCESSなど、利用可能なオブジェクトが異なります。

関連するQ&A