- 締切済み
EXCEL2007でワークブックのクローズ処理
教えてください。 EXCEL2003形式ファイルのVBAに、 Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Close SaveChanges:=False End Sub を記述してファイルを保存します。(作成は、EXCEL2003で保存します。) (仮にBook1.xlsとします。) このファイル(Book1.xls)をEXCEL2007で開きます。 このとき、別のファイル(仮にBook2.xlsとします。形式は、EXCEL2003です)をEXCEL2007で開きます。 で、Book1.xlsを×ボタンで終了すると、 EXCEL2007が異常終了します。 環境依存でしょうか? PCの環境に、EXCEL2003とEXCEL2007が混在しています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- onlyrom
- ベストアンサー率59% (228/384)
再度のこんにちは。 >保存しないで閉じてもなん問題も発生しません 問題が発生しなければいい、ということではないのでは? これに限らず間違ったコードでたまたま上手くいったとしても いつどこでおかしい動作をするか分からないので 正しいコードで2007を試した後でないと 「互換性だけの問題か、環境依存の問題かを知りたいのです。」 これは無意味な質問になるのではないのですか! と言いたかったんですが、意図が通じていないみたいですねぇ ま、それは置いといて >右上の×ボタンで閉じた場合、どこでCloseを行いますか? 保存せずに終了したければ、 '----------------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Saved = True End Sub '----------------------------------------------------- 以上です。
- onlyrom
- ベストアンサー率59% (228/384)
こんにちは。 >Book1.xlsを×ボタンで終了すると、 >EXCEL2007が異常終了します。 異常終了の前に、提示のコードがおかしくありませんか? BeforeCloseイベントで、なぜ再度Close? そこを修正してから2007で試したらどうでしょう。 以上です。
補足
VBAで右上の×ボタンで保存せずに、エクセルファイルを閉じたいのです。 EXCEL2003の環境で、複数ファイルを開いた状態で、該当ファイルだけ 保存しないで閉じてもなん問題も発生しません。 互換性だけの問題か、環境依存の問題かを知りたいのです。 ちなみに、EXCEL2007でBook1.xlsを右上の×ボタンで閉じた場合は、EXCEL2007は正常に終了します。 右上の×ボタンで閉じた場合、どこでCloseを行いますか? エクセルVBAは、あまり得意でないのでよくわからないのです。