VBA32_テキストファイルを自動作成・保存する方法

おはようございます! にわか管理人のBenです。前回は外部のテキストファイルからの読み込みをしました。今回は外部のテキストファイルへの新規の書き込み、つまりテキストファイルをVBAで自動生成します。

20160324a.png
まず今回のノートをするにあたって、気を付けないといけないことがあります。それは、前回のファイルの読み込みとは違って、ファイルを作って出力するということは、間違って既存のファイルに上書きすれば、システムファイルなら最悪Windowsが起動しなくなります。まあ、そういう事態はまずありえませんが、念のためファイルの保存は全く別のフォルダにした方が安全です。あとはがよくやるのは、対象ファイルを読み書きしてデータの一部のみを変更したいのに、バグがあって変更箇所以外のデータも消えてしまったということです。バックアップを取るなど注意が必要です。

Sub File_Output()
 Open "d:\sample.txt" For Output As #1 '書き込みモードでファイルオープン
 Print #1, "データです!" 'データを書き込み
 Close #1 'ファイルを閉じます
End Sub
今回のプログラムです。2行目で書き込みモードでファイルを生成しています。3行目でファイルにデータを書き込み、4行目でファイルを閉じています。ファイルを閉じるまではファイルサイズは0バイトで不完全な状態です。閉じて初めて内容が保存されるので、ほかのバグなどで実行がストップしてファイルが中途半端にならないよう、書き込みが終わったら早い段階で閉じた方が無難です。

20160324c.png
これを実行した結果、Dドライブにご覧のようなsample.txtファイルが作成されました。その中身はというと。

20160324c.png
当然ですが「データです!」です(^^; ファイルを作成して内容を書き込んで閉じる。この作業がうまくいき、無事にファイルが保存されています。次回はもうちょっと複雑な処理をノートしたいと思います。

この記事へのコメント


この記事へのトラックバック