Hallo in die Runde,
ich möchte per VBA verschiedene Textfelder aus einem Word-Dokument beim Speichern als Dateinamen verwenden (automatisch abspeichern) und habe dafür ein Makro (siehe unten) gebaut. D.h., ich hätte gern das Ergebnis, dass die Datei mit dem Namen "Title"-"Datum"-"Betreff".docx abgespeichert wird. Mit den Dokumenteigenschaften klappt das. Beim Datumsfeld (fett gedruckte Zeile) mache ich irgendwas falsch. Das Datumsfeld ist ein Standardfeld über Einfügen-->Schnellbausteine-->Feld und dann auf das Format {DATE \@ "yyMMddhhmmss" \* MERGEFORMAT} angepasst. Das Dokument verwendet auch noch ein automatisches Inhaltsverzeichnis. Ich glaube, das Problem liegt darin, dem Rechner zu erklären, worauf er genau zugreifen soll. Kann mir jemand weiterhelfen, wie der Programmcode aussehen müsste, um das gewünschte Ergebnis zu erreichen?
Tausend Dank
Gruß
Thomas
Sub Speichern()
'
' Speichern Makro
'
'
ChangeFileOpenDirectory "G:\User\Thomas\Dokumente"
Set Title = Application.ActiveDocument.BuiltInDocumentProperties(wdPropertyTitle)
Set Betreff = Application.ActiveDocument.BuiltInDocumentProperties(wdPropertySubject)
Set Datum = Application.ActiveDocument.ContentControls(Date)
myFileName = Title.Value & "-" & Datum.Value & "_" & Betreff.Value & ".docx"
ActiveDocument.SaveAs2 FileName:=myFileName, FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False, CompatibilityMode:=15
End Sub
|