Speichern im Dokumentformat über ein Makro (Microsoft Word)
Anthony importiert regelmäßig mehrere Berichte in Textdateien (d. H. Dateiname.txt) in Word. Anschließend verwendet er Makros, um diese importierten Informationen zu formatieren. Nachdem das Formatierungsmakro abgeschlossen ist, verwendet Anthony manuell „Speichern unter“ für jeden Bericht, um ihn als Word-Dokument zu speichern. Er fragt sich, welche Befehle er seinem Makro hinzufügen soll, um den letzten Schritt des Speicherns der Daten zu automatisieren. Anthony möchte, dass das Makro die Datei unter demselben Stammnamen wie die ursprüngliche Textdatei speichert und sie nur in das Word-Format ändert, wie in filename.docx.
Die Schritte zum tatsächlichen Speichern der Datei sind relativ einfach. Betrachten Sie das folgende Codefragment, mit dem ein Dokument im Word-Format gespeichert wird:
ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
Der Name der Datei wird in der Variablen sDocName gespeichert, und die Einstellung für die FileFormat-Eigenschaft gibt an, dass das Dokument im Word-Format gespeichert werden soll. In einem vorhandenen Makro müssen Sie nur noch sDocName mit dem gewünschten Dateinamen einrichten.
Angenommen, Sie haben Ihren ursprünglichen Textdateinamen in der Variablen sOrigName gespeichert, können Sie den folgenden Code verwenden, um die Erweiterung in .doc zu ändern, und dann die Datei speichern:
sDocName = Left(sOrigName, Len(sOrigName) - 4) sDocName = sDocName & ".docx" ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
Der Code geht davon aus, dass die letzten vier Zeichen von sOrigName die Dateinamenerweiterung enthalten (der Punkt plus drei Zeichen). Diese werden entfernt und die Erweiterung „.docx“ hinzugefügt. Wenn Sie nicht sicher sind, wie lange die Dateinamenerweiterung für die Originaldatei dauern wird, können Sie sich auf die Split-Funktion verlassen, um sie bei Bedarf auseinander zu ziehen:
sNameParts = Split(sOrigName, ".") sDocName = sNameParts(0) & ".docx" ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
Stellen Sie sicher, dass Sie sNameParts als Zeichenfolgenarray deklarieren, damit dieses Makro funktioniert.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (404) gilt für Microsoft Word 2007, 2010, 2013 und 2016. Eine Version dieses Tipps für die ältere Menüoberfläche von Word finden Sie hier: