
ExcelVBA 指定したファイルが存在するかをプログラムで確認します。これにより、ファイル操作時のエラーを防ぐことができます。使い方や注意点など、サンプルコードをもとに具体的に解説します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBAでファイルが存在するか確認する用途
以下のようなシーンで利用されます。
1.ファイルを開く前に存在を確認する。
2.古いファイルを削除する前に存在確認する。
3.ファイルの自動処理(例: バックアップ作成、データ更新)を行う前に準備状況を確認する。
ファイル存在チェックの基本:Dir関数
Dir 関数を使用して、指定したパスのファイルが存在するかをチェックします。
1.ファイル名とパス
正確なファイル名とパスを指定しないと、存在していても見つからない場合があります。
2.フォルダとファイルの区別
Dir 関数はファイルだけでなくフォルダも検出可能です。
3.ワイルドカードの使用
ワイルドカード(例: * や ?)を使用する場合、複数の一致がある場合に注意が必要です。
【サンプルコード】If文を使ったファイル存在チェックの書き方(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 に格納し、ユーザーに通知します。
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
指定フォルダ内に特定のファイルが存在するかを確認するコード
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で自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。
