ExcelVBA 指定したファイルが存在するかをプログラムで確認する方法

 

ExcelVBA 指定したファイルが存在するかをプログラムで確認します。これにより、ファイル操作時のエラーを防ぐことができます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

 

Excel VBA ファイルが存在するチェックの利用

以下のようなシーンで利用されます。

1.ファイルを開く前に存在を確認する。

2.古いファイルを削除する前に存在確認する。

3.ファイルの自動処理(例: バックアップ作成、データ更新)を行う前に準備状況を確認する。

使い方

Dir 関数を使用して、指定したパスのファイルが存在するかをチェックします。

ポイント

1.ファイル名とパス
正確なファイル名とパスを指定しないと、存在していても見つからない場合があります。

2.フォルダとファイルの区別
Dir 関数はファイルだけでなくフォルダも検出可能です。

3.ワイルドカードの使用
ワイルドカード(例: * や ?)を使用する場合、複数の一致がある場合に注意が必要です。

 

Excel VBA ファイルが存在するチェックのサンプルコード
指定したファイルが存在するかを確認するコード
Option Explicit

Sub CheckFileExistence()
    Dim filePath As String
    Dim fileExists As Boolean
    
    ' チェックしたいファイルのパスを指定
    filePath = "C:\Users\User\Desktop\sourceFile\motofile.txt"
    
    ' ファイルの存在を確認
    If Dir(filePath) <> "" Then
        fileExists = True
    Else
        fileExists = False
    End If
    
    ' 結果を表示
    If fileExists Then
        MsgBox "ファイルは存在します: " & filePath
    Else
        MsgBox "ファイルが見つかりません: " & filePath
    End If
End Sub

1.Dir関数を使用して、指定したパスのファイルを探します。

2.ファイルが存在する場合、Dir はそのファイル名を返します。存在しない場合は空文字列 ("") を返します。

3. 結果を変数 fileExists に格納し、ユーザーに通知します。

指定フォルダ内に特定のファイルが存在するかを確認するコード

Option Explicit

Sub CheckMultipleFiles()
    Dim folderPath As String
    Dim fileName As String
    Dim targetFile As String
    Dim fileFound As Boolean
    
    ' フォルダのパスと確認したいファイル名を指定
    folderPath = "C:\Users\User\Desktop\sourceFile\"
    targetFile = "motofile.txt"
    
    ' フォルダ内を検索
    fileName = Dir(folderPath & targetFile)
    fileFound = (fileName <> "")
    
    ' 結果を表示
    If fileFound Then
        MsgBox "ファイルが見つかりました: " & folderPath & fileName
    Else
        MsgBox "指定したファイルは存在しません: " & folderPath & targetFile
    End If
End Sub

フォルダの存在チェックも行う場合は、別途フォルダ存在チェックを実装します。ネットワークドライブの場合、アクセス権や接続状況によって結果が異なることがあります。

 

記憶定着問題集

操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。

1.●●●関数を使用して、指定したパスのファイルを探します。

2.ファイルが存在する場合、●●● はそのファイル名を返します。存在しない場合は空文字列 ("") を返します。

3. 結果を変数 fileExists に格納し、ユーザーに通知します。

Excel VBAで自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。