Speichern in einem Makro unter Verwendung eines gewünschten Dateinamens (Microsoft Word)
Steve erstellt Dokumente, bei denen der Dateiname des Dokuments in der Kopfzeile und in rechtlichen Beschriftungen auf der ersten und zweiten Seite des Dokuments angegeben werden muss. Er hat ein Makro erstellt, das den Dateinamen nach Eingabe in die Überschrift kopiert und an den richtigen Stellen in die Textformularfelder in den Beschriftungen einfügt. Sein nächster Schritt beim Zusammenstellen von Dokumenten besteht darin, das Dokument mit dem Befehl „Speichern unter“ zu speichern. Das Dokument ist unter Verwendung des gleichen Dateinamens zu speichern, der in der Kopfzeile und in den Beschriftungen eingegeben wurde.
Wenn Sie dies manuell tun, zeigt Steve das Dialogfeld Speichern unter an, fügt den Dateinamen ein und klickt dann auf Speichern. Er hat versucht, den Makrocode zu erstellen, um diesen Schritt „Speichern unter“ hinzuzufügen, kann jedoch nicht herausfinden, wie dies zu tun ist. Wenn Word die manuellen Schritte aufzeichnet, erhält Steve Folgendes:
ActiveDocument.SaveAs FileName:="04562.sw.docx
Dies zeigt, dass Word den spezifischen Dateinamen aufzeichnet, der verwendet wird, wenn die manuellen Schritte ausgeführt werden. Steve möchte jedoch einen anderen Dateinamen verwenden, der auf der Überschrift des Dokuments basiert. Diese Informationen (der Dateiname) befinden sich zufällig in der Zwischenablage, wenn das Makro ausgeführt wird. Es ist also auch möglich, die Informationen aus der Zwischenablage abzurufen, aber Steve weiß auch nicht, wie das geht.
Da Steve bereits ein Makro zum Kopieren des Dateinamens hat und mit diesem Makro zufrieden ist, sollten nur einige Änderungen an seinem Code erforderlich sein, um die Datei unter dem richtigen Namen zu speichern. Versuchen Sie, den folgenden Code an den entsprechenden Stellen in Ihrem vorhandenen Makro hinzuzufügen:
Dim strTemp As String Dim MyData As DataObject Set MyData = New DataObject MyData.GetFromClipboard strTemp = MyData.GetText(1) ActiveDocument.SaveAs FileName:=Trim(strTemp) & ".docx"
Solange Sie eine Textzeichenfolge in der Zwischenablage haben, die Sie für Ihren Dateinamen verwenden möchten, sollte dieser Code funktionieren. Es wird sogar die Erweiterung .Doc am Ende der Zeichenfolge in der Zwischenablage hinzugefügt. Für diesen Code müssen Sie im VBA-Editor eine Referenz für Microsoft Forms einrichten.
(Wählen Sie im Editor im Menü Extras die Option Referenzen.)
Natürlich sollte darauf hingewiesen werden, dass Sie Ihre Herangehensweise an dieses Makro überdenken möchten. Tatsächlich können Sie möglicherweise den größten Teil Ihres Codes entfernen, wenn Sie einen völlig anderen Ansatz wählen. Beispielsweise könnten Personen das Dokument zuerst speichern und dann mithilfe von Feldern auf den Dateinamen im Dokument selbst verweisen. (Das Feld FILENAME kann für diesen Zweck verwendet werden.)
Anstatt ein Makro zum Kopieren des Dateinamens auf die erste und zweite Seite des Dokuments zu verwenden, können Sie auch einen definierten Stil (z. B. DocTitle oder DocName) verwenden, um auf Ihren Dateinamen zu verweisen, und dann das Feld STYLEREF an einer anderen Stelle in Ihrem Dokument verwenden Dokument, um auf diesen Namen zu verweisen. Auf diese Weise muss es nur einmal eingegeben werden und es ist kein Makro erforderlich. Auf dieser Seite der Word MVP-Site finden Sie mehrere Möglichkeiten zum Wiederholen von Daten in verschiedenen Bereichen des Dokuments:
http://gregmaxey.mvps.org/Repeating_Data.htm
Sie können auch eine UserForm erstellen, um die Daten vom Benutzer zu erfassen (um den gewünschten Dateinamen zu erhalten) und das Dokument dann unter diesem Namen zu speichern.
Das Makro könnte dann den Dateinamen dem Feld TITEL zuweisen, und an jeder Stelle im Dokument, die auf das Feld TITEL verweist, wird automatisch der vom Benutzer eingegebene Dateiname angezeigt.
_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 (10809) 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: