- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでファイルを保存せずに閉じた後の他ブックの挙動)
VBAでファイルを保存せずに閉じた後の他ブックの挙動
このQ&Aのポイント
- エクセル2000(SP3)で複数のブックを起動し、片方のブックを保存せずに終了させると、他のブックの操作ができなくなる問題について質問です。
- 他のアプリケーションが起動している場合に限り、一度他のアプリケーションを選択してから再度Excelを選択すると、他のブックの操作が可能になります。
- ファイルを保存せずに終了させるためのマクロのコードを示しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Workbook_BeforeCloseイベントはClose『前』に実行されるイベントで、 そのイベント実行後に、何もしなくてもBookはCloseします。 (イベント内でCancel = True にしなければ) イベント内で >ThisWorkbook.Close を記述してしまうと、そのCloseメソッドによって、 またBeforeCloseイベントを呼び出してしまいます。 >ThisWorkbook.Close は不要です。というより記述してはいけません。 保存せずに閉じる場合は Savedプロパティ を True にしてあげれば 「保存しますか?」のメッセージは表示されません。 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Workbooks.Count = 1 Then Application.DisplayAlerts = False Application.Quit Else ThisWorkbook.Saved = True 'ThisWorkbook.Close SaveChanges:=False End If End Sub
お礼
早速のご回答、本当にありがとうございます。 イベント名の通りの挙動でしたね。 ご指摘のとおりClose記述をコメントアウトしたところ、期待通りの動作が確認できました。