Excel VBA ファイルシステムオブジェクト (FileSystemObject)

スポンサーリンク
スポンサーリンク

ファイルシステムオブジェクト

ファイルシステムオブジェクト(FileSystemObject)は
ファイルやフォルダー、ドライブを操作するためのオブジェクトです。

ファイルをコピーするFileCopyステートメント
ファイルの存在を確認するDir関数などと比べて
わかりやすいコードを記述できるメリットがあります。

Microsoft Scripting Runtime【マイクロソフト スクリプティング ランタイム】の参照

ファイルシステムオブジェクトをVBAで使用するには
Microsoft Scripting Runtime【マイクロソフト スクリプティング ランタイム】への参照を
設定します。この参照設定は
ファイルシステムオブジェクトを使用するブックごとに設定する必要があります。

Microsoft Scripting Runtime【マイクロソフト スクリプティング ランタイム】は
ファイルシステムオブジェクトを構成するオブジェクトが定義されている
外部ライブラリファイルです。

参照設定を行うことにより、ライブラリファイルで定義されている
外部オブジェクトを効率的に使用できるようになります。
外部オブジェクトに関するステートメントのチェックが
プログラム実行前に実施されるため、参照設定を行わずに
外部オブジェクトを参照する場合と比べてマクロの実行速度が
速くなります。さらに、外部オブジェクトについても
自動メンバー表示や自動クイックヒント表示などの
プログラミングを支援する機能が使用できるようになるため
効率的にコードの記述ができます。

Microsoft Scripting Runtimeの参照設定の方法





※しつこいようですが、「Microsoft Scripting Runtime」への参照設定は
「ファイルシステムオブジェクト」を使用するブックごとに設定する必要があります。

参照設定を行わずに「ファイルシステムオブジェクト」(FSO)を使用する方法

参照設定を行わずにFSOを使用するにはCreateObject【クリエートオブジェクト】関数を
使用して以下のようにFSOオブジェクトのインスタンスを生成します。

Dim myFSO As Object
Set myFSO CreateObject("Scripting.FileSystemObject")

ブックごとの参照設定を行う必要がないため
プロシージャーを手軽に作成できるメリットがある一方
外部オブジェクトに関するステートメントのチェックが
プログラムの実行時に行われるため、参照設定を使用するときに
比べてマクロの実行速度が遅くなります。また、
外部オブジェクトについての自動メンバー表示やクイックヒントなどの
プログラミング支援機能が働かないため作業効率が下がる
デメリットがあります。

ファイルシステムオブジェクトの構成図


ファイルやフォルダーの基本操作(作成やコピーなど)を実行するには
FSOの最上位オブジェクトの「FileSystemObject」を使用します。
「FileSystemObject」を使用するには
そのインスタンス(オブジェクトの複製)を作成して
オブジェクト変数に格納しプロパティやメソッドで操作します。

FileSystemObjectオブジェクトの下位オブジェクトの
プロパティやメソッドを使用するとさらに詳細な操作を
フォルダーやファイルに対して実行することができます。

FileSystemObject【ファイルシステムオブジェクト】のインスタンスを生成する書式

Dim オブジェクト変数 As New FileSystemObject


設定項目の説明

  • オブジェクト変数
    任意の変数名を指定します。
  • New FileSystemObject
    Newキーワードを使用してFileSystemObjectの
    インスタンス(複製)を自動生成します。

※「Microsoft Scripting Runtime」への参照設定が実行されている必要があります。


ファイルシステムオブジェクトのメソッド・プロパティ

ドライブの操作や取得をするFSOのメソッドやプロパティ
ファイルの操作や取得をするFSOのメソッドやプロパティ

以上で
ファイルシステムオブジェクトについての解説を終了します。
ありがとうございます。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク