エクセルのアドインでファイル保存するときに”保存しますか?”の
ダイアログをすべてのファイルに出したいのですが、
うまくいきません。どなたかお教えください。
PERSONAL_SAVE.XLS というファイルに以下のマクロを作成し
C:\Documents and Settings\***\Application Data\Microsoft\Excel\XLSTART
VBのClass1に
'Option Explicit
Public WithEvents App As Application
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox ("保存しますか?")
End Sub
を作成し、
同じくVBのThisworkbookに
Dim x As New Class1
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Set x.App = Application
End Sub
を作成します。
このときは、ほかのファイルに対しても 保存しますか? のメッセージがでます。
しかし、
このファイルをPERSONAL_SAVE.lxa として 保存し、ツール⇒アドイン で追加し、立ち上げても
同様な動きをしません。 どうしてでしょうか?
インスタンス?の関係でしょうか?Private を Publicにしても同じでした。
アプリケーションオブジェクトをセットするイベントが起動していないからです。
手順:
PERSONAL_SAVE.xlaのThisWorkbookに
Dim x As New Class1
Private Sub Workbook_Open()
Set x.App = Application
End Sub
のように記載する。
お礼
早々にありがとうございました。 できました。! Thiswork も class も 両方とも SAVEではいけないんですね。 どうもすみません、お手数をおかけしました。 間違いなしのベストアンサーです。 ありがとうございました。