• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる)

EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる

このQ&Aのポイント
  • EXCELのVBAでマクロを使ってファイルを開こうとしている際、指定したファイルが存在しなかった場合、メッセージボックスを表示させて処理を中止させるか、次のファイルの処理を行うことは可能ですか?
  • EXCELのVBAを使用してファイルを開こうとする際、指定したファイルが存在しない場合、マクロのエラーが発生し、ファイルが存在しませんと表示されます。しかし、指定したファイルが存在しない場合には、メッセージボックスを表示させて処理を中止させるか、あるいは無いファイルの処理をスキップして次のファイルの処理を行うことができるのでしょうか?
  • EXCELのVBAでファイルを開く際、指定したファイルが存在しない場合は通常マクロのエラーが表示されますが、その代わりにメッセージボックスを表示させ、処理を中止させるか、または無いファイルの処理をスキップして次のファイルの処理を行うことはできるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.4

こんな感じでしょうか? Sub sample() Dim Fname As String Fname = "C:\Documents and Settings\001.xls" If Dir(Fname) <> "" Then 'ファイルの有無をチェック Workbooks.Open Filename:=Fname ElseIf MsgBox("ファイル2を開きますか?", vbYesNo + vbQuestion, "問い合わせ") = vbYes Then Workbooks.Open Filename:="C:\Documents and Settings\002.xls" End If End Sub

その他の回答 (3)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

On Error GoToを仕掛けてあると、エラー発生時の処理が行えますが、通常はエラーが起こりそうな箇所ではエラーが発生しないかどうかを先に確認します。 If Dir("C:\Documents and Settings\001.xls") = "" Then  rtn = MsgBox("マクロを中止する?Noを選ぶと次の002を開きます", vbYesNo) If rtn = vbYes Then Exit Sub Else  Workbooks.Open Filename:="C:\Documents and Settings\001.xls" End If Workbooks.Open Filename:="C:\Documents and Settings\002.xls

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.2

結論としては、可能です。 ファイルの存在チェックはDir関数を使ってください。 以下サンプル Dim strFilePath As String Dim strFileExist As String strFileExist = Dir(strFilePath) if strFileExist = "" Then  If MsgBox("ファイルが存在しませんYes , No ", vbYesNo) = vbYes Then   '次の002  Else   '中止  End If End If ディレクトリの存在可否は、Dir(パス, vbDirectory) となります。

回答No.1

この二つ組み合わせればできそうですね http://www.vba-world.com/if_then_else.html http://www.vba-world.com/msgbox_1.html

関連するQ&A