admin menu ≫  image  writes  admin
スポンサーサイト 
--.--.--.-- 
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ブックを閉じるVBAマクロ(その○)・・・何回目だっけ? 
2009.06.11.Thu 
6/9に書いた記事の訂正も兼ねて書いてみる(^^;
↓のVBAマクロは、ネット検索でよく見かける「上書き保存しないでブックを閉じる」マクロだけど、Workbook_BeforeCloseにThisWorkbook.Closeを記述するのはやっぱ良くないよ(^^

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Workbooks.Count = 1 Then
'このブック1つしか開いてない時はブックをクローズして
'エクセルも終了する。
Application.DisplayAlerts = False 'メッセージを表示しない
Application.Quit 'ブックを閉じてエクセルを終了
Else
'ブックが複数開いている時、このブックだけ
'変更を保存しないように指定してクローズする。
ThisWorkbook.Close SaveChanges:=False '※やっぱマズイっす
End If
End Sub

こっちが正解!?(^^;

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Workbooks.Count = 1 Then
'このブック1つしか開いてない時はブックをクローズして
'エクセルも終了する。
Application.DisplayAlerts = False 'メッセージを表示しない
Application.Quit 'ブックを閉じてエクセルを終了
Else
'ブックが複数開いている時、このブックだけ
'変更を保存しないように指定してクローズする。
ThisWorkbook.Saved = True '※こっちが正解だと思う
'ここで Exit Sub で強制クローズする手もありか?
End If
End Sub

1ヶ月くらい悩んでたけど、これでやっと解決かな?

関連記事
スポンサーサイト
* スポンサーサイトブックを閉じるVBAマクロ(その○)・・・何回目だっけ?へのコメント *
   

台風画報


ナショジオニュース

降水短時間予報

RSSフィード

月別アーカイブ

ブログ内の検索

プロフィール


  • Designed by Il mio diario
  • Powered by FC2BLOG
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。