dポイントプレゼントキャンペーン実施中!

エクセル97です。
起動時のAuto_Openや終了時のAuto_Closeのように、ファイルに保存をかけた時に自動的にマクロを実行させるにはどうしたらよいのでしょうか?
フォームなどのマクロボタンで保存させるのではなく、通常に保存する場合です。
よろしくお願いします。

A 回答 (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
   の間に、コードを記述します。

これで、セーブ直前に実行されるマクロができあがります。
    • good
    • 1
この回答へのお礼

早速ありがとうございました。完璧です!
それで「保存」後に実行したい場合は、

保存前に実行するマクロを記述後、次の行に

Application.OnTime Now, "保存後のマクロ"

でいいんですよね?

お礼日時:2002/12/24 13:40

初めまして。



Workbooks_BeforeCloseイベントを使えばブックが終了した時にマクロが走ります。
VBE画面のThisWorkbookをダブルクリックして開いたモジュールの右側の部分に
Private sub Workbooks_BeforeCloseと記述すれば下側にEnd Subが自動で表示されますので、その間に実行したいマクロを記述します。

お試しになってみて下さい。
    • good
    • 0
この回答へのお礼

早速ありがとうございました。
作成中のシートは改変防止のため終了時に変更を保存しない設定にしているので、BeforeCloseでは多分だめだと思います。(試してみませんでしたが)
でもありがとうございました。

お礼日時:2002/12/24 13:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!