2017-09-08 184 views
0

ExcelでBeforeSaveを使用してvbaスクリプトを実行する際に問題が発生しています。
このスクリプトを実行していますが、問題またはMsgboxなしでファイルを保存できます。ExcelでBeforeSaveが機能しない

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
a = MsgBox("Do you really want to save the workbook?", vbYesNo) 
If a = vbNo Then Cancel = True 
End Sub 

何が問題ですか? 保存するためにキャンセルできるMsgboxが表示されます。

+0

イベントは有効になっていますか? – CLR

+0

イベントが発生しないようにするコードはありません。 –

+0

私はExcelを再起動して今すぐ動作します。 :) –

答えて

0

[ファイル]> [オプション]> [セキュリティセンター]> [セキュリティセンター設定]> [マクロ設定]で、セキュリティセンターの設定を確認します。 「すべてを有効にする」と

を発生し、また、何を参照するには、次のラジオボタンをチェックし 、あなたのファイルが

+0

すでに「すべて有効」に設定されています。延長はxlsmです。 –

+0

まあ、それは私のために働く。コードに問題はないようです。他に何かがあるはずです。あなたはまた、イミディエイトウィンドウに "?application.EnableEvents"を書くことでイベントのステータスを確認することができます – ExcelinEfendisi

0

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)は、VBAプロジェクトにThisWorkbook内でなければなりませんXLSBまたはXLSMの拡張子を持っている必要があります。

enter image description here

+0

はいThisWorkbookの中にあります –

+0

これは役立ちます:[Stack Overflow](https://stackoverflow.com/questions/26296597/how-to -enable-events-so-workbook-beforesave-gets-called) – Dominik

+0

それは役に立たなかった。私は投稿のすべてのものを試しましたが、私はまだMsgBoxなしで文書を保存することができます –

関連する問題