Vorlagenpfad ändern

02/12/2008 - 11:00 von Peter Haider | Report spam
Hallo !

Ich möchte beim Schließen des Word-Docs (2003 SP2) den Vorlagenpfad àndern.
Dazu soll keine Useraktion erforderlich sein

1. Fall: Das Dok wurde bereits gespeichert
Pfad wird umgeschrieben, Dok wird nach Änderung durch Code
nochmal gespeichert.
2. Fall: Dok wurde noch nicht gespeichert
Pfad wird umgeschrieben und Dok (mit Änderung des Pfades) wird
durch User gespeichert.

Also probier ich folgendes:

Private Sub Document_Close()
If ActiveDocument.Saved = True then ActiveDocument.AttachedTemplate =
newPath: ActiveDocument.Save : Exit Sub
ActiveDocument.AttachedTemplate = newPath
End Sub

Der 2. Fall funkt tadellos,
nur beim 1. Fall kommt der Dialog, 'Wollen Sie die Änderung speichern', also
wàre Useraktion erforderlich.

Irgendwie hab ich nen Knoten, den i net rauskrieg.

Danke im Voraus für Tips, Peter
 

Lesen sie die antworten

#1 Thomas Gahler
02/12/2008 - 15:04 | Warnen spam
Hallo Peter



Private Sub Document_Close()
If ActiveDocument.Saved = True then ActiveDocument.AttachedTemplate =
newPath: ActiveDocument.Save : Exit Sub
ActiveDocument.AttachedTemplate = newPath
End Sub

Der 2. Fall funkt tadellos,
nur beim 1. Fall kommt der Dialog, 'Wollen Sie die Änderung speichern',
also wàre Useraktion erforderlich.


Du hast das 'ActiveDocument.Saved' falsch verstanden. Hier geht es darum ob
ein Dokument seit der letzten Speicherung wieder veràndert wurde oder nicht.

Ein Dokument, dass noch *nie* gespeichert wurde erkennst du zB. daran, dass
der Pfad des Dokuments leer ist.

If Len(Trim$(ActiveDocument.Path)) = 0 Then
MsgBox "noch nie gespeichert"
Else
MsgBox ActiveDocument.Path
End If



Dann gefàllt mir dein Code nicht besonders. Das wird Spagetti-Code genannt.
So ist es besser ;-)

Sub xxx
'...
If Len(Trim$(ActiveDocument.Path)) = 0 Then
ActiveDocument.AttachedTemplate = newPath
ActiveDocument.Save
else
ActiveDocument.AttachedTemplate = newPath
endif
End Sub





Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)

Ähnliche fragen