

VBAでは、参照設定する方法と、しない(遅延バインディング)で CreateObject
や As
Objectを使う方法があります。
🔷 FileSystemObject(FSO)とは?
VBAでファイルやフォルダを扱うためのCOMオブジェクト
コピー、移動、削除、作成、存在確認など、ファイル操作全般ができます。

例:FileSystemObjectを使った場合
▼参照設定(早期バインディング)
参照設定 → 「Microsoft Scripting Runtime」 を追加します。

Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim file As TextStream
Set file = fso.OpenTextFile("C:\test.txt", ForReading)
Debug.Print file.ReadAll
file.Close
▼ 非参照設定(遅延バインディング)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim file As Object
Set file = fso.OpenTextFile("C:\test.txt", 1) ' 1 = ForReading
Debug.Print file.ReadAll
file.Close
◆参照設定あり vs. 非参照設定(CreateObject)
項目 | 参照設定あり | 非参照設定(CreateObject) |
---|---|---|
補完(IntelliSense) | あり ✅ | なし ❌ |
実行速度 | 速い ✅ | やや遅い ❌ |
配布 | 注意必要 ❌ | 安心 ✅(参照設定の誘導なくとも、コードのみ配布できる) |
安定性 | 高い ✅ | やや不安定(バージョン依存)❌ |
「補完」とはVBA記載中に、ピリオドを押すとプロパティやメソッドが選択できる機能のことです。これは、便利ですよね。





コメントを残す