Home » FSO・FileSystemObjectの使い方 » FileSystemObjectでファイルの有無を調べる

FileSystemObjectでファイルの有無を調べる

「vba フォルダー内のファイルの有無を調べる fso」
という検索キーワードで、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBA(Visual Basic for Applications)から、FileSystemObjectを利用して、特定のフォルダー内にファイルが存在するかどうかを調べるには、どのようなコードを書けばいいのかを探している方による検索です。

[スポンサードリンク]

フォルダーにファイルが存在するかどうかを調べるサンプルマクロ

以下のようなマクロで、定数・FLD_PATHで指定したフォルダー(C:\tmp)に、ファイルが存在しているかどうかを調べられます。

Sub 指定フォルダーにファイルが存在するか()

 Const FLD_PATH = "C:\tmp"

 Dim fso As Object ' Scripting.FileSystemObject

 Set fso = CreateObject("Scripting.FileSystemObject")
 If fso.GetFolder(FLD_PATH).Files.Count >= 1 Then
  MsgBox "指定されたフォルダーにファイルが存在します。"
 Else
  MsgBox "指定されたフォルダーにファイルが存在しません。"
 End If
 Set fso = Nothing

End Sub

FileSystemObjectオブジェクトのインスタンスを、オブジェクト変数・fsoにセットした、
  Set fso = CreateObject("Scripting.FileSystemObject")
次の行、
  If fso.GetFolder(FLD_PATH).Files.Count >= 1 Then
が、ファイルの有無をチェックしている箇所です。

ここで利用している「fso.GetFolder(FLD_PATH).Files.Count」というオブジェクト式の意味は、以下のとおりです。

fso.GetFolder(FLD_PATH).Files.Count」
FileSystemObjectオブジェクトのGetFolderメソッドで、Folderオブジェクトを取得して、

Scripting.FileSytemObject.GetFolder

「fso.GetFolder(FLD_PATH).Files.Count」
FolderオブジェクトのFilesプロパティで、Filesコレクションオブジェクトを取得して、

Scripting.Folder.Files

「fso.GetFolder(FLD_PATH).Files.Count
FilesコレクションオブジェクトのCountプロパティで、

Scripting.Files.Count

ファイルを表すFileオブジェクトの数を取得しています。

特定ファイルの有無を調べるサンプルマクロ

「vba フォルダー内のファイルの有無を調べる fso」
という検索をなさった方には、上記のマクロが参考になるはずですが、似たような検索キーワードで別のことを探していたケースも考えられます。

特定のフォルダーに、特定の名前のファイルが存在しているかどうかを調べたい、というケースも実務ではあります。

Sub 指定ファイルが存在するか()

 Const F_PATH = "C:\tmp\samp.xlsx"

 Dim fso As Object ' Scripting.FileSystemObject

 Set fso = CreateObject("Scripting.FileSystemObject")
 If fso.FileExists(F_PATH) Then
  MsgBox "指定されたファイルが存在します。"
 Else
  MsgBox "指定されたファイルが存在しません。"
 End If
 Set fso = Nothing

End Sub

特定のファイルが存在するかどうかをFileSystemObjectを使って調べるには、上記のマクロのように、FileSytemObjectオブジェクトのFileExistsメソッドを利用すれば、

Scripting.FileSytemObject.FileExists

OKです。

[スポンサードリンク]

Home » FSO・FileSystemObjectの使い方 » FileSystemObjectでファイルの有無を調べる

「FSO・FileSystemObjectの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.