ファイルシステムへのアクセスを提供します。
例えば以下のような操作をすることができます。
- ファイルシステム
- ドライブ
- フォルダ
- ファイル
目次
FileSystemObjectオブジェクトの操作
FileSystemObjectオブジェクトを使う場合、インスタンスを生成する必要があります。
生成方法は2つ。
- 事前バイディング
- 実行時バイディング
CSVファイルの最終行を調べる方法を例に上記の違いを説明します。
ここで使う例のCSVファイル
最終行は「11」です。

事前バイディング・Microsoft Scripting Runtimeの参照設定
事前に参照設定をする必要があります。
New Scripting.FileSystemObject
(1)Microsoft Scripting Runtimeの参照設定を行います。
VBE>[ツール]>[参照設定]を選択します。

「Microsoft Scripting Runtime」にチェックを入れます。

(2)標準モジュールにコードを入力します。
Sub sample() Dim fso As New Scripting.FileSystemObject Dim fPath As String: fPath = "F:\sample\test1.csv" Debug.Print fso.OpenTextFile(fPath, 8).Line End Sub
実行結果です。

実行時バイディング
参照設定は必要ない方法です。
CreateObject("Scripting.FileSystemObject")
こちらの方法では、自動メンバーが表示されません。
作成したマクロを自分以外の人が使う場合、参照設定する必要のない実行時バイディングの方が手間がかかりません。
Sub sample2() Dim fso As Object Dim fPath As String: fPath = "F:\sample\test1.csv" Set fso = CreateObject("Scripting.FileSystemObject") Debug.Print fso.OpenTextFile(fPath, 8).Line End Sub
実行結果です。

参考・実行時バイディングでの使用例