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

ファイルシステムオブジェクトとはファイルやフォルダ、ドライブを操作するためのオブジェクトです。ファイルシステムオブジェクト内には後述のオブジェクトとコレクションが含まれており、これらのオブジェクトについて操作が可能です。

スポンサーリンク

含まれるオブジェクト、コレクション

  • File
    ファイルオブジェクト。ファイルのタイムスタンプなども取得可能。
  • Files
    ファイルオブジェクトの集合体(コレクション)。
    オブジェクトの数は .Count プロパティで取得可能。
  • Folder
    フォルダオブジェクト。フォルダ内のファイルやサブフォルダを取得して、
    再帰的に処理することが可能。
  • Folders
    フォルダオブジェクトの集合体(コレクション)。
    オブジェクトの数は .Count プロパティで取得可能。
  • Drive
    ドライブオブジェクト。
    リムーバルドライブやネットワークドライブの情報も取得可能。
  • Drives
    ドライブオブジェクトの集合体(コレクション)。
    オブジェクトの数は .Count プロパティで取得可能。
  • TextStream
    オープン済みのテキストファイルオブジェクト。
    テキストファイルに対してシーケンシャルに読み書きが可能。

ファイルやフォルダの操作は『 関数リファレンス – ファイル・フォルダ操作 』で掲載した関数およびステートメントでも可能ですが、ファイルシステムオブジェクトの方がより細かな操作が可能になります。

次節以降に、ファイルシステムオブジェクトのプロパティおよびメソッドと、対応する関数およびステートメントをまとめてみました。いくつかの操作については2つの実現方法が存在するので、どのオブジェクトのプロパティおよびメソッドなのかしっかり区別してください。

例えば、ファイルをコピーする操作には以下の2つの方法が存在します。

  • <方法1> ファイルシステムオブジェクトの CopyFile メソッドを使用する
  • <方法2> ファイルオブジェクトの Copy メソッドを使用する

このどちらを使うかは、そのときの処理内容により判断します。通常、処理の途中でファイルオブジェクトを取得済みであれば<方法2>、ファイルオブジェクトを取得していないのであれば<方法1>を使用します。

ファイル操作に関連するプロパティ・メソッド

下表の “fso” はファイルシステムオブジェクトを表します。
下表の “file” はファイルオブジェクトを表します。

内容 FileSystemObjectの
プロパティ/メソッド
対応する関数/
ステートメント
ファイルオブジェクト取得 fso.GetFile
ファイル存在チェック fso.FileExists Dir関数
ファイルベース名取得 fso.GetBaseName
ファイル拡張子取得 fso.GetExtensionName
ファイル名取得 fso.GetFileName
file.Name
Dir関数
ファイル属性取得・設定 file.Attributes GetAttr関数
ファイルパス取得 file.Path
ファイルサイズ取得 file.Size FileLen、LOF関数
ファイルタイプ取得 file.Type
ファイル作成日時取得 file.DateCreated
ファイル最終アクセス日時取得 file.DateLastAccessed
ファイル最終更新日時取得 file.DateLastModified
親フォルダ取得 fso.GetParentFolderName
file.ParentFolder
ドライブ名取得 fso.GetDriveName
file.Drive
ファイル新規作成 fso.CreateTextFile Open ステートメント
テキストファイル入出力
ファイルオープン fso.OpenTextFile
file.OpenAsTextStream
Open ステートメント
テキストファイル入出力
ファイル名変更 file.Name Nameステートメント
ファイル移動 fso.MoveFile(※1)
file.Move
Nameステートメント
ファイルコピー fso.CopyFile (※1)
file.Copy
FileCopyステートメント
ファイル削除 fso.DeleteFile (※1)
file.Delete
Killステートメント (※2)

※1・・・ワイルドカードを使用することで複数のオブジェクトを同時に操作することが可能。
*(アスタリスク):任意の数(0以上)の文字を表します。
? (クエスチョン):任意の1文字を表します。

※2・・・読み取り専用ファイルは削除不可。

フォルダ操作に関連するプロパティ・メソッド

下表の “fso” はファイルシステムオブジェクトを表します。
下表の “folder” はフォルダオブジェクトを表します。

内容 FileSystemObjectの
プロパティ/メソッド
対応する関数/
ステートメント
フォルダオブジェクト取得 fso.GetFolder
フォルダ存在チェック fso.FolderExists Dir関数
フォルダ名取得 folder.Name Dir関数
フォルダ属性取得 folder.Attributes GetAttr関数
フォルダパス folder.Path
フォルダタイプ取得 folder.Type
フォルダ作成日時取得 folder.DateCreated
フォルダ最終アクセス日時取得 folder.DateLastAccessed
フォルダ最終更新日時取得 folder.DateLastModified
親フォルダ取得 fso.GetParentFolderName
folder.ParentFolder
ドライブ名取得 fso.GetDriveName
folder.Drive
フォルダ内のファイル取得 folder.Files Dir関数
フォルダ内のサブフォルダ取得 folder.SubFolders Dir関数
ファイル新規作成 folder.CreateTextFile Open ステートメント
テキストファイル入出力
フォルダ作成 fso.CreateFolder MkDir、RmDirステートメント
フォルダ名変更 folder.Name Nameステートメント
フォルダ移動 fso.MoveFolder (※1)
folder.Move
フォルダコピー fso.CopyFolder (※1)
folder.Copy
フォルダの削除 fso.DeleteFolder (※1)
folder.Delete
MkDir、RmDirステートメント
カレントフォルダ取得 CurDir関数
カレントフォルダ変更 ChDir、ChDriveステートメント

※1・・・ワイルドカードを使用することで複数のオブジェクトを同時に操作することが可能。
*(アスタリスク):任意の数(0以上)の文字を表します。
? (クエスチョン):任意の1文字を表します。

ドライブ操作に関連するプロパティ・メソッド

下表の “fso” はファイルシステムオブジェクトを表します。
下表の “drive” はドライブオブジェクトを表します。

内容 FileSystemObjectの
プロパティ/メソッド
対応する関数/
ステートメント
ドライブオブジェクト取得 fso.GetDrive
ドライブ存在チェック fso.DriveExists Dir関数
ドライブ名取得 drive.DriveLetter
ルートフォルダ取得 drive.RootFolder
ドライブパス取得 drive.Path
ドライブタイプ取得 drive.DriveType
ドライブ状態取得 drive.IsReady
トータルサイズ取得 drive.TotalSize
利用可能領域取得 drive.AvailableSpace
空き領域取得 drive.FreeSpace
ボリューム名取得 drive.VolumeName
ドライブ取得(コレクション) fso.Drives
カレントドライブ変更 ChDir、ChDriveステートメント

テキストストリーム操作に関連するプロパティ・メソッド

下表の “tso” はテキストストリームオブジェクトを表します。

内容 FileSystemObjectの
プロパティ/メソッド
対応する関数/
ステートメント
ファイルポインタ位置取得 tso.Line
入力モード出力モード
行のカラム位置取得 (行頭からの文字数) tso.Column
入力モード出力モード
文字列書き込み tso.Write
空白行書き込み tso.WriteBlankLines
文字列書き込み(自動的に改行) tso.WriteLine Print # または
Write # ステートメント
テキストファイル入出力
文字列読み込み tso.Read
1行読み込み tso.ReadLine Line Input # または
Input # ステートメント
テキストファイル入出力
ファイル全体読み込み tso.ReadAll
指定文字数スキップ tso.Skip
指定行数スキップ tso.SkipLine
ファイル末尾判定 tso.AtEndOfStream EOF関数
行末尾判定 tso.AtEndOfLine
ファイルクローズ tso.Close Close ステートメント
テキストファイル入出力
タイトルとURLをコピーしました