
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で質問しましょう!
似たような質問が見つかりました
- 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も見ています
-
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
ファイルが見つからない時、スルーしたい。
Visual Basic(VBA)
-
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
-
4
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
VBA 存在しないシートを選択した時にエラーメッセージを表示するには?
Visual Basic(VBA)
-
7
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
8
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
9
【マクロ】名前を保存する際に、同じファイルがあった場合に、メッセージを表示
Excel(エクセル)
-
10
VBAでセル値からフォルダ名を取得するコードについて
Excel(エクセル)
-
11
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
12
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
13
【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する
Visual Basic(VBA)
-
14
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
15
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
16
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
17
VBA 見つからなかった時の処理
Excel(エクセル)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
VBA 該当データがない時 エラーメッセージを表示
Visual Basic(VBA)
-
20
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】名前を保存する際に...
-
【Excel VBA】ファイル名が一...
-
accessフォルダを移動したらフ...
-
EXCEL VBA 指定したファイルが...
-
Excelで漢字人名が勝手に並び変...
-
フォルダ内のブック全部にパス...
-
VBA EXCELファイル選択⇒指定セ...
-
フォルダ内のexcelファイルを順...
-
マクロでファイル開いて・貼り...
-
エクセルVBA 上書き保存禁止と...
-
VBAでワークブックの名前を変数...
-
Excelファイルがマクロを含むか...
-
Office2016 Excelについて
-
エクセルのマクロ・ウイルス駆...
-
エクセルVBAで送る操作
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
ISOファイルとMDSファイル
-
差し込み印刷の元データファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
フォルダ内のexcelファイルを順...
-
エクセルマクロで不特定なファ...
-
ファイルを開かずにマクロを実行
-
【Excel VBA】ファイル名が一...
-
VBAでワークブックの名前を変数...
-
データ参照先が別ファイルの場...
-
エクセル(マクロ)のファイル...
-
フォルダ内のブック全部にパス...
-
エクセル 複数ファイルの一括...
-
エクセルファイルを開く時、関...
-
秀丸:あらかじめ設定した複数...
-
EXCELマクロを無効にして開く方法
-
Excelのマクロでファイルを開く...
-
accessフォルダを移動したらフ...
-
ファイルの保存場所を変えたら...
-
エクセルファイルをHTML化する...
-
エクセルのシートの数を数えた...
-
ACCESS VBAでファイルを開くダ...
おすすめ情報