EXCEL VBA ブックを閉じる(ブック全てを保存して閉じる・変更されていれば保存・保存しないで閉じる)

 

 

EXCEL VBA ブックを閉じる(ブック全てを保存して閉じる・変更されていれば保存・保存しないで閉じる:Close・Saved・Save)

 

 

 ●はじめに
EXCELを使用していると、EXCELの作業終了後、ブックを閉じる作業を行いますが、その時に、開いているブックを閉じるには、Closeメゾットを使用します。また、ブックデータの状態が、保存後にデータが変更されているかされていないかを調べる時は、WorkBookオブジェクトのSavedプロパティを利用します。なお、EXCELアプリケーションを終了するには、ApplicationオブジェクトのQuitメゾットを利用します。それでは、順番に説明いたします。

●EXCEL VBA EXCELファイル・ワークブック・アクティブシートの保存・上書き保存・選択保存
(SaveAs・GetSaveAsFilename)の方法につきましては、下記のURLを参照にして下さい。

https://akira55.com/saveas/

 

 

 ●書式の説明  【Closeメゾット】・【Savedメゾット】・【Quitメゾット】

●オブジェクト.Close(SaveChanges,Filename)
※ブックを閉じる時に使用

【SaveChanges】・・・下記参照
【Filename】・・・ブックの保存先を指定

SaveChangesの値及び説明
値         説明
True①引数:Filename(設定あり)ブックに変更があった場合は、指定されたファイル名で保存される。

②引数:Filename(設定なし)既存ブックは上書き保存される。ただし、新規ブックの場合は、「名前を付けて保存」ダイアログボックスが表示される。また、ブックに変更がない場合は、そのまま閉じる
Falseブック変更を保存しないで閉じる
設定なし(省略)ブックに変更がある場合は、保存するか確認メッセージが表示される

 

記述例:ActiveWorkbook.Close True, “C:\HOZON\TEST_BOOK.xlsm”

説明 :現在開いているワークブックをCドライブの”Hozon”フォルダーの中に「TEST_BOOK.xlsm”」の名前で保存します。

 

●オブジェクト.Saved
※ブックの内容が変更されているか確認

Saved = True ・・・ ブックの内容が変更されている。
Saved = False   ・・・ブックの内容が変更されていない。

 

アプリケーションオブジェクト.Ouit
※EXCELアプリケーションを終了します。

Application.Quit  ・・・EXCELを終了

 

 

EXCELブックを閉じる(Close) 4パターン

 

 

 ●プログラム説明 (サンプル①~④)

下記のサンプルプログラムは、EXCELブックを閉じる方法を4パターン作成しました。

①アクティブブックを閉じます。[ True ]の場合、変更があれは、同じファイルに保存し閉じます。変更が無ければ、そのまま閉じます。

②アクティブブックを閉じます。[ False ]の場合、変更があってもそのまま閉じます。

③アクティブブックを閉じます。[ 省略 ]の場合、変更があった場合は、保存するか確認メッセージが表示されます。

④アクティブブックの変更が合った場合、別のファイル名で別の場所に保存します。

 

 

 

 

EXCELブックを保存 (Save)【現在のアクティブブックを保存・全てのブックを全て保存】

 

 

 ●プログラム説明 (サンプル①~②)

下記のサンプルプログラムは、EXCELブックを保存する方法の2パターンを作成しました。

①現在のアクティブブックを保存(Save)します。

②全てのブックを全て保存してEXCELを終了します。

 

 

 

 

 

 

EXCELブックの状態確認①【EXCELデータが変更されているか判定します。】

 

 ●プログラムの説明 (サンプル①) 【Saved】

下記のサンプルプログラムは、現在、開いているEXCELブックが前回保存した状態からデータが変更されているか判定します。

 

 

 

EXCELブックの状態確認② 【複数開いているEXCELデータの内容が変更されているブックを保存します。】

 

 ●プログラムの説明 (サンプル②) 【Saved】

下記のサンプルプログラムは、複数開いたブックから内容が変更されているブックを保存します。現在、開いているEXCELブックが前回保存した状態からデータが変更されているか判定して、ブックを保存した件数をメッセージボックスで表示します。

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。