[XL] [保存確認メッセージ]を表示せずにExcelを終了する方法

文書番号: 402156 - 対象製品
この記事は、以前は次の ID で公開されていました: JP402156
すべて展開する | すべて折りたたむ

目次

概要

ブックを保存しないで [ファイル] - [閉じる] コマンドや [ファイル] - [Microsoft Excel の終了] コマンド、または [コントロール ボックス] の [閉じる] コマンド が実行されると、Excel 5.0 はブックの内容を保存するかどうか確認するメッセー
ジを表示する場合があります。
本文書は、Microsoft(R) Visual Basic(R) Programming System Applications
Edition (以下 VBA) を使って、「保存確認メッセージ」を表示せずに Excel 5.0
を終了する方法を、サンプル モジュールと共に解説しています。

詳細

Excel 5.0 を終了させるときに、新規に作成して編集したブックや内容を変更した
ブックが存在する場合には、「このまま <ファイル名> を保存しますか ?」と 「保存確認メッセージ」が表示されます。
このメッセージを表示させずに Excel 5.0 を終了する方法をいくつか紹介します。

1. ブックを保存する場合

ブックを保存する場合は、Save メソッドを使います。Save メソッドは、ブックの
ファイル名が付けられていれば、その名前で保存します。新規に作成されたブック
で一度も保存されてなくファイル名が付けられていない場合には、カレント ディ
レクトリに "BOOK1.XLS" などの名前が自動的に付けられて保存されます。この 時、カレント ディレクトリに同名のファイルがすでに存在している場合には、
「現在のファイル <ファイル名> と置き換えますか ?」というメッセージを表示 します。このメッセージを表示せず、強制的に上書き保存する場合には、
Application オブジェクトの DisplayAlerts プロパティを False に設定します。

サンプル 1

次のサンプル モジュールでは、オープンされているすべてのブックを保存してから
Excel 5.0 を終了します。
  Sub SaveFileQuitExcel()
      Dim wbook As Workbook
      For Each wbook In Workbooks
          wbook.Save
      Next wbook
      Application.Quit
  End Sub

2. ブックを保存しない場合

以下の 3 つのサンプルはすべて、開かれているすべてのブックを保存せずに閉じて
Excel 5.0 を終了します。

サンプル 2-1

次のサンプル モジュールでは、開かれているブックを保存せずに閉じてから Excel
5.0 を終了します。
  Sub CloseFileQuitExcel()
      Dim wbook As Workbook
      For Each wbook In Workbooks
          wbook.Close False
      Next wbook
      Application.Quit
  End Sub

サンプル 2-2

次のサンプル モジュールでは、開かれているすべてのファイルに「保存済み」の
属性を持たせてから Excel5.0 を終了します。
  Sub SavedCloseQuitExcel()
      Dim wbook As Workbook
      For Each wbook In Workbooks
          wbook.Saved = True
      Next wbook
      Application.Quit
  End Sub

サンプル 2-3

次のサンプル モジュールでは、Excel 5.0 が表示する警告やメッセージを表示しな
いように設定してから Excel 5.0 を終了します。
  Sub DisplayAlertsSample()
      Application.DisplayAlerts = False
      Application.Quit
  End Sub

3. 備考 SaveAs メソッド使用時の注意

項目「 1. ブックを保存する場合」で使用した Save メソッドは、ブックのファイル 名が付けられていれば、その名前で保存します。ファイル名やファイル形式を指定
して保存する場合には [ファイル] - [名前を付けて保存] コマンドを使用しま
す。このコマンドを実行したとき、保存先ディレクトリ内にすでに同一ファイル
名が存在すると「このまま <ファイル名> を保存しますか ?」と「保存確認メッ セージ」が表示されます。この「名前を付けて保存」コマンドと同じ操作を VBA
の SaveAs メソッドを使用して行った場合は、マクロ エラー「実行時エラー
'1004'です。Workbook クラスの SaveAs メソッドが失敗しました。」が発生
します。SaveAs メソッドは上書き保存ができないため、あらかじめ同じファ
イル名のファイルを削除をしてから SaveAs メソッドを実行する必要があります。

サンプル 3

次のサンプル モジュールでは、カレント ディレクトリをファイル保存先に変更し、 カレントディレクトリ内に同じファイル名のファイルが存在するか調べ、存在す
る場合はそのファイルを削除してからファイルを保存しています。
  Sub KillSaveAs()
      ChDrive "c"
      ChDir "c:\excel"
      If Dir("BOOK1.XLS") = "BOOK1.XLS" Then
          Kill "BOOK1.XLS"
      End If
      ActiveWorkbook.SaveAs filename:="BOOK1.XLS"
  End Sub

プロパティ

文書番号: 402156 - 最終更新日: 1997年10月20日 - リビジョン: 1.0
この資料は以下の製品について記述したものです。
  • Microsoft Excel 5.0 Standard Edition
キーワード:?
kbhowto KB402156
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com