FileSystemObjectのFileExistsメソッド
FileSystemObjectのFileExistsメソッドは、ファイルが存在するかどうか調べます。
FileSystemObjectの他のメソッドやプロパティは「FileSystemObjectとTextStreamのメソッド・プロパティ一覧」をご参照ください。
構文
Function FileExists(FileSpec As String) As Boolean
FileSpec | 存在するか確認するファイルパスを指定します。
ファイル名だけを指定した場合はカレントディレクトリのファイルが対象になります。ワイルドカードの指定はできません。 |
戻り値 | ファイルが存在するかどうかをBooleanで返します。存在している場合はTrue、存在しない場合はFalseを返します。 |
ワイルドカードでの存在チェックを行いたい場合
ワイルドカードでのファイル存在チェックはDir関数を使って行うことができます。
Dir関数での詳細は「VBAでファイルの存在をチェックする」をご参照ください。
事前設定
以下のサンプルコードでは参照設定でFileSystemObjectクラスを利用できるようにしています。
FileSystemObjectクラスを利用するには、事前にVBA画面→ツールメニュー→参照設定、を選択し、参照設定ダイアログで「Microsoft Scripting Runtime」にチェックを付けます。
詳細は「VBAでのFileSystemObjectとTextStreamの使い方」の事前設定をご参照ください。
サンプルコード
指定ファイルパスが存在しているかを確認するサンプルコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub FileSystemObjectFileExists() Dim fso As New FileSystemObject '// FileSystemObjectクラス Dim sFilePath '// ファイルパス Dim bResult As Boolean '// 判定結果 '// ファイルパスを指定 sFilePath = "C:\test\c.txt" '// ファイルが存在するか判定する bResult = fso.FileExists(FileSpec:=sFilePath) '// ファイルが存在する場合 If bResult = True Then MsgBox "ファイルあり" '// ファイルが存在しない場合 Else MsgBox "ファイルなし" End If End Sub |
FileExistsメソッドを使って指定ファイルが存在するかの結果をBoolean型の変数に代入しています。
そのBoolean型の変数を使って、ファイルが存在する場合と存在しない場合の分岐処理を行っています。
FileSystemObjectクラスのオブジェクト変数に対して、「Set fso = Nothing」のようなコードがありませんが、なくても問題ありません。詳細については「VBAでのFileSystemObjectとTextStreamの使い方」をご参照ください。