テキストファイル操作方法は2通り

VBAでのテキストファイル操作方法には大きく2つの方法があります。

1つは、OpenとCloseを使う方法で、もう1つは、FileSystemObjectを使う方法です。

FileSystemObjectを使う場合は、VBA画面のツールメニュー→参照設定で、Microsoft Scripting Runtimeにチェックを付ける必要があります。


Open/CloseとFileSystemObjectはどちらを使うべきか

テキストファイルを開いて読み書きして閉じる、というファイル操作の基本のみであればOpen、Read、Write、Closeで十分でしょう。

ファイルサイズ調べたいとか、フォルダの中にあるファイルを列挙したいとか、ファイルを別のフォルダに移動させたいなど、ファイル操作全般を行うのであればFileSystemObjectを利用します。

ちなみに私は自分が書くときはほとんどの場合、FileSystemObjectを使っています。

Open、Closeで書いたあとに複雑なことをやりたいことが発生したときにFileSystemObjectに書きなおすのが面倒なことと、後述するファイル操作関数を用意しているためそちらを使う方がラクなのが理由です。

以下はFileSystemObjectを利用した各関数です。

1つの標準モジュールにまとめて書きます。


FileSystemObject用ソースコード



使い方

使い方は以下のようになります。こちらは上とは別の標準モジュールに作成します。

Cドライブにあるtest.txtを1行読み込んでDebug.Print命令でVBAのイミディエイトウインドウに出力します。

FileWriteは利用していませんがFileReadと同じような感じで使えます。

是非、活用してください。