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.1
- 回答日時:
この二つ組み合わせればできそうですね
http://www.vba-world.com/if_then_else.html
http://www.vba-world.com/msgbox_1.html
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.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.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ファイルが見つからない時、スルーしたい。
Visual Basic(VBA)
-
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
-
4
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
VBA 存在しないシートを選択した時にエラーメッセージを表示するには?
Visual Basic(VBA)
-
8
VBA 見つからなかった時の処理
Excel(エクセル)
-
9
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
10
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
11
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
12
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
13
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
14
エクセルでエラーが出て困っています。
Excel(エクセル)
-
15
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
16
VBAで先月、先々月を求める方法
Visual Basic(VBA)
-
17
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
18
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
19
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
20
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルのシートの数を数えた...
-
エクセルマクロで不特定なファ...
-
vlookup関数の引数を変数で指定...
-
Accessのaccdbファイルを起動で...
-
フォルダ内のexcelファイルを順...
-
VBAでワークブックの名前を変数...
-
【Excel VBA】ファイル名が一...
-
Excelのマクロについてご教授く...
-
フォルダ内のブック全部にパス...
-
VBA ふたつの同じ様式シートの...
-
エクセル(マクロ)のファイル...
-
EXCELが終了できません
-
Excelファイルがマクロを含むか...
-
エクセルマクロ 異なるファイ...
-
ワード2007で複数ファイル自動...
-
エクセルのxls形式からxlsx形式...
-
vba dirにおけるフォルダ内にあ...
-
リンク切れチェックを行うマクロ
-
Excelで漢字人名が勝手に並び変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
VBAでワークブックの名前を変数...
-
フォルダ内のexcelファイルを順...
-
エクセルのxls形式からxlsx形式...
-
エクセル 複数ファイルの一括...
-
エクセルのシートの数を数えた...
-
accessフォルダを移動したらフ...
-
vlookup関数の引数を変数で指定...
-
Accessのaccdbファイルを起動で...
-
ファイルを開かずにマクロを実行
-
【Excel VBA】ファイル名が一...
-
EXCELマクロを無効にして開く方法
-
エクセル(マクロ)のファイル...
-
ACCESS VBAでファイルを開くダ...
-
Excel VBA でファイルが開かれ...
-
ファイルの保存場所を変えたら...
-
vba初心者です。 質問です。 毎...
-
フォルダ内のブック全部にパス...
-
エクセルマクロ 異なるファイ...
おすすめ情報