Hallo Leute,
ich möchte ein Makro beim Speichern des aktiven Dokuments ausführen.
AutoClose geht nicht, denn es wird immer gespeichert, ob das Dokument geändert worden ist oder nicht.
Es würde auch funktionieren, wenn ich irgendwie die Info bekäme, dass etwas geändert wurde um das dann in AutoClose auszuwerten.
Vielen Dank schon mal vorab
Ben
ich möchte ein Makro beim Speichern des aktiven Dokuments
ausführen.
AutoClose geht nicht, denn es wird immer gespeichert, ob das
Dokument geändert worden ist oder nicht.
Hi Ben,
füge in deiner Normal.dot ein Klassenmodul ein (Einfügen–Klassenmodul), dem gibst du den Namen „clsApp“ (Klicke auf „clsApp“ sodaß es markiert ist, dann F4, dann kannst du den Namen verändern, Fensterchen wieder schließen.
Ein Modul (Einfügen–Modul) brauchst du auch, da ist der Name wurscht, nehmen wir mal Modul1 an.
Per Doppelklick auf den Namen wechselst du von Modul zu Modul. Gib dann die nachstehenden Codes ins richtige Modul ein, dann speichere im Editor oben links bei Datei… danach die Normal.dot, beende Word und starte es neu.
In ThisDocument
Option Explicit
Dim AppClass As New clsApp
’
Private Sub Document_Open()
Set AppClass.App = Application
End Sub
In Modul1
Option Explicit
’
Sub DeinMakro()
MsgBox „Hello world“
End Sub
In clsApp
Option Explicit
Public WithEvents App As Application
’
Private Sub App_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
Call DeinMakro
End Sub
Gruß
Reinhard
Korrektur
Hallo Ben,
füge in deiner Normal.dot ein Klassenmodul ein
(Einfügen–Klassenmodul), dem gibst du den Namen „clsApp“
(Klicke auf „clsApp“ sodaß es markiert ist, dann F4, dann
kannst du den Namen verändern, Fensterchen wieder schließen.
das ist zwar auch irgendwie richtig, aber bevor du es umbenannt hast, mußt du auf „Klasse1“ klicken
Oder auf Klasse2, Klasse3, aber unwahrscheinlich aufgrund deiner Anfrage.
Gruß
Reinhard