Hallo,
wenn man in Word eine Simples Dokument mit Makros erstellt und in diesem folgenden Code einfügt, wird man feststellen, dass die Sub DokumentBeforeSave auch beim Befehl "Speichern unter" ausgeführt wird.
Modul:
Dim myApp As New clsApp
Sub AutoOpen()
Debug.Print Now, "AutoOpen"
Set myApp.appWord = Application
End Sub
Klasse clsApp:
Public WithEvents appWord As Word.Application
Private Sub appWord_DocumentBeforeSave _
(ByVal Doc As Document, _
SaveAsUI As Boolean, _
Cancel As Boolean)
Debug.Print Now, "Running DocumentBeforeSave"
Debug.Print Now, ActiveDocument.Name
ActiveDocument.Fields.Update
End Sub
Beim Testen ist mir jedoch aufgefallen, dass ein im Dokument enthaltenes Feld "=Filename" nicht aktualisiert wurde.
Ursache: Der Neue Dateiname wird erst beim Speichern festgelegt. Das Event selbst wird bereits vor dem Speichern ausgeführt, also noch mit dem alten Dateinamen.
Wenn der Speichern-Befehl "Datei Speichern unter..." ausgeführt wird, ist die Variable SaveAsUI auf True, andernfalls steht es auf False
Vielleicht helfen diese Erkenntnisse ja weiter...
LG, BigBen
|