
EXCELのVBAでマクロを使ってファイルを開こうとしている際、指定したファイルが存在しなかった場合、普通はマクロのエラーが出て「ファイルが存在しません」となりますが、指定したファイルが存在しなかった場合には、メッセージボックスを表示させ、そこで処理を中止させるか、または、その無いファイルの処理は飛ばして次のファイルの処理を行う用にさせることはできるでしょうか?
Sub test1()
Workbooks.Open Filename:="C:\Documents and Settings\001.xls
(001が存在しない場合メッセージボックスを出しマクロを中止するか次の002を開くか選ぶ)
Workbooks.Open Filename:="C:\Documents and Settings\002.xls
End sub
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
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
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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】ファイル名が一...
-
vba初心者です。 質問です。 毎...
-
エクセル 複数ファイルの一括...
-
Excel VBA seleniumのedge操作...
-
データ参照先が別ファイルの場...
-
ファイルを開かずにマクロを実行
-
フォルダ内のexcelファイルを順...
-
【マクロ】変数に入れるコード...
-
【マクロ】名前を保存する際に...
-
EXCEL VBA 指定したファイルが...
-
秀丸:あらかじめ設定した複数...
-
リンク切れチェックを行うマクロ
-
VBAでワークブックの名前を変数...
-
word2007ファイル起動時のSQLに...
-
accessフォルダを移動したらフ...
-
エクセルVBAで送る操作
-
Excelのマクロでファイルを開く...
-
ファイル名を変更するマクロ
-
エクセルデータが突然破損します。
-
エクセルマクロで不特定なファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】変数に入れるコード...
-
EXCEL VBA 指定したファイルが...
-
フォルダ内のexcelファイルを順...
-
【マクロ】名前を保存する際に...
-
データ参照先が別ファイルの場...
-
エクセルマクロで不特定なファ...
-
フォルダ内のブック全部にパス...
-
【Excel VBA】ファイル名が一...
-
エクセル 複数ファイルの一括...
-
エクセルファイルを開く時、関...
-
EXCELマクロを無効にして開く方法
-
accessフォルダを移動したらフ...
-
ファイルを開かずにマクロを実行
-
ファイルの保存場所を変えたら...
-
Excelのマクロでファイルを開く...
-
vlookup関数の引数を変数で指定...
-
エクセルのxls形式からxlsx形式...
-
秀丸:あらかじめ設定した複数...
-
VBAでワークブックの名前を変数...
-
エクセル(マクロ)のファイル...
おすすめ情報