VBA ファイルやフォルダが存在するかどうかを確認する

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 4月 13, 2022

VBAでは、Dir関数を使用してファイルやフォルダーが存在するかどうかを確認することができます。

Dirコマンドを使ってファイルが存在するかどうかを確認する

冒頭で述べたように、Dir関数を使うと、選択したファイルがコンピュータ上に存在するかどうかを確認することができます。以下はそのコードです。

Sub CheckFileExists ()

Dim strFileName As String
Dim strFileExists As String

    strFileName = "C:\Users\Nikola\Desktop\VBA articles\Test File Exists.xlsx"
    strFileExists = Dir(strFileName)

    If strFileExists = "" Then
        MsgBox "選択されたファイルは存在しません"
    Else
        MsgBox "選択されたファイルは存在します"
    End If

End Sub

まず、ファイルパスを変数strFileNameに代入しています。次に、Dir関数を使って、ファイル名を変数strFileExistsに代入しています。もし、そのファイルがディレクトリに存在すれば、そのファイル名がstrFileExistsという 文字列変数に代入されます。 存在しない場合は、strFileExistsは空白のままです。 最後に、ファイルが存在するかどうかを知らせるメッセージボックスを表示します。

Dirコマンドでフォルダが存在するかどうかを確認する

ファイルが存在するかどうかを確認するのと同様に、フォルダが存在するかどうかを確認することができます。この場合も、引数を1つ追加するだけです。 Dirコマンドを使用します。コードを見てみましょう。

Sub CheckFolderExists ()

Dim strFolderName As String
Dim strFolderExists As String

    strFolderName = "C:\Users\Nikola\Desktop\VBA articles\Test Folder\"
    strFolderExists = Dir(strFolderName, vbDirectory)

    If strFolderExists = "" Then
        MsgBox "選択されたフォルダは存在しません"
    Else
        MsgBox "選択されたフォルダは存在します"
    End If

End Sub

まず、フォルダのパスを変数strFolderNameに代入しています。次に、Dir関数を使ってファイル名を変数strFileExistsに代入しています。フォルダをチェックするためには、関数の第2引数のvbDirecotryを追加する必要があります。もし、そのフォルダがディレクトリに存在すれば、その名前が変数strFolderExistsに代入されます。存在しない場合は、strFolderExistsは空白のままです。

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples