- ベストアンサー
エクセルで保存時に自動実行させるマクロ?
エクセル97です。 起動時のAuto_Openや終了時のAuto_Closeのように、ファイルに保存をかけた時に自動的にマクロを実行させるにはどうしたらよいのでしょうか? フォームなどのマクロボタンで保存させるのではなく、通常に保存する場合です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
保存時に自動的にマクロを実行するには、Workbook_BeforeSave を使います。 具体的には、 1.Visual Basic Editor を開きます。 2.プロジェクトボックス(左上のペイン)の、「ThisWorkbook」という部分を ダブルクリックします。 3.右側のペインにウインドウが開いたら、ふたつ並んだコンボボックスの 左側で「Workbook」を選択し、右側で「BeforeSave」を選択します。 4.Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) End Sub の間に、コードを記述します。 これで、セーブ直前に実行されるマクロができあがります。
その他の回答 (1)
- vbafriend
- ベストアンサー率47% (17/36)
初めまして。 Workbooks_BeforeCloseイベントを使えばブックが終了した時にマクロが走ります。 VBE画面のThisWorkbookをダブルクリックして開いたモジュールの右側の部分に Private sub Workbooks_BeforeCloseと記述すれば下側にEnd Subが自動で表示されますので、その間に実行したいマクロを記述します。 お試しになってみて下さい。
お礼
早速ありがとうございました。 作成中のシートは改変防止のため終了時に変更を保存しない設定にしているので、BeforeCloseでは多分だめだと思います。(試してみませんでしたが) でもありがとうございました。
お礼
早速ありがとうございました。完璧です! それで「保存」後に実行したい場合は、 保存前に実行するマクロを記述後、次の行に Application.OnTime Now, "保存後のマクロ" でいいんですよね?