文書番号: 402156
最終更新日: 1997/10/20
この資料は以下の製品について記述したものです。
Microsoft(R) Excel for Windows(TM) Version 5.0 (以下 Excel 5.0) この記事は、以前は次の 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
Keywords: KBHOWTO KB402156
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch