Wie kann man in Word 8.0 einen Speicherort für Dateien mit einer
bestimmten Dokumentenvorlage festlegen.
z.B. alle Dokumente die auf BANK.DOT basieren sollen in C:BANK
gespeichert werden. Das kannst Du über zwei Makros lösen, die die Befehle Speichern sowie
SpeichernUnter ersetzt. Kopiere dazu die folgenden Makros in Deine
Normal.dot

Zunächst das Ersatzmakro für Speichern:

Public Sub DateiSpeichern()

If ActiveDocument.Path = „“ Then
ActiveDocument.Save
Else
DateiSpeichernUnter
End If

End Sub

Dieses Makro prüft, ob das Dokument schon einmal gespeichert wurde,
in dem es die Path-Eigenschaft auswertet – nur Dokumente, die noch
nie gespeichert worden sind, haben eine leere Path-Eigenschaft.

Wurde das Dokument schon einmal gespeichert, wird es einfach erneut
gespeichert, sonst wird das benutzerdefinierte SpeichernUnter-Makro
aufgerufen. Dieser kleine Umweg muß leider sein, weil sonst das be-
nutzerdefinierte Makro nicht über den Speichern-Button der Symbol-
leiste gestartet werden würde.

Nun zum SpeichernUnter-Makro. In diesem muß ein Zusammenhang zwischen
dem Namen der Vorlage und dem Speicher-Pfad hergestellt werden. Dazu
gibt es verschiedene Möglichkeiten wie z.B. eine ini-Datei oder die
Registry oder …

Ich habe mich hier jetzt für die Dokument-Eigenschaften entschieden.
Dazu mußt Du in jeder Vorlage eine Eigenschaft mit dem Namen „SPfad“
anlegen, in die Du den gewünschten Pfad einträgst. Das Makro sieht
dann so aus:

Public Sub DateiSpeichernUnter()

With Dialogs(wdDialogFileSaveAs)
.Name = GetPfad()
.Show
End With

End Sub

Die Funktion GetPfad() liefert den in der Eigenschaft angegebenen Pfad
oder einen Default-Pfad, wenn die Eigenschaft nicht existiert.

Private Function GetPfad() As String

On Error Resume Next

GetPfad = ActiveDocument.CustomDocumentProperties(„SPfad“).Value

If GetPfad <> „“ Then
If Right(GetPfad, 1) <> „“ Then GetPfad = GetPfad & „“
Else
GetPfad = „C:Default“
End If

End Function