ファイルがフォルダ内にあるか調べてファイルを開く

雲 Excel VBA すべて

ファイルを検索してフォルダ内に無かったときは「実行時エラー’1004’ ○○○.xlsxが見つかりません。ファイル名およびファイルの保存場所が正しいかどうかを確認してください。」のエラーメッセージが表示されます。

事前に検索するファイルがフォルダ内にあるか調べてから開くようにすれば、ファイルがフォルダ内に有ったときはファイルを開き、もし無かったときは「ファイルはフォルダ内にありません。」とメッセージを表示してプログラムを終了できる使う人に優しいプログラムになると思います。

Sub ファイルがフォルダ内にあるか調べてファイルを開く()

Dim name As String
name = Range("A1").Value 'A1セルに入力したファイル名で検索します。

If Dir(ThisWorkbook.Path & "\フォルダ\" & name & ".xlsx") <> "" Then 'ファイルがフォルダ内にあるか調べます。

MsgBox "ファイルはフォルダ内にありました。"

Workbooks.Open Filename:=ThisWorkbook.Path & "\フォルダ\" & name & ".xlsx" 'ファイルを開きます。

Else

MsgBox "ファイルはフォルダ内にありません。"

End If

End Sub
Dir(ファイルパス)

Dir関数のカッコ内には検索するファイルのファイルパスを指定します。

同じフォルダに保存する

「検索するフォルダ」と「マクロを実行するファイル」を同じフォルダに入れてThisWorkbook.Pathでフォルダまでのパスを自動で取得するとUSBメモリーやSDカードからマクロを実行するときもフォルダパスを考えずに使えるので良いかと思います。

こちらの関連する記事もご覧ください

コメント