Aileen arbeitet mit vielen Dokumenten, deren Datum in einem numerischen Format vorliegt, z. B. am 22.9.12. Sie muss diese Daten in ein anderes Format konvertieren, insbesondere am 22. September 2012. Sie fragt sich, ob es eine einfache Möglichkeit gibt, die Änderung vorzunehmen, ohne jedes Datum erneut eingeben zu müssen.

Die Antwort hängt zu einem großen Teil von der Art des Datums ab, das Sie ändern. Daten in einem Word-Dokument können entweder gerader Text oder ein Feld sein. Sie können feststellen, ob das Datum ein Feld ist, indem Sie einfach die Einfügemarke irgendwo innerhalb des Datums verschieben. Wenn es sich um ein Feld handelt, sollte das gesamte Datum hellgrau schattiert werden, sobald die Einfügemarke innerhalb des Datums liegt.

Wenn das Datum ein Feld ist, können Sie mit der rechten Maustaste auf das Datum klicken und im daraufhin angezeigten Kontextmenü die Option Feld bearbeiten auswählen. Sie können das Feld dann ändern, einschließlich der Auswahl eines anderen Datumsformats in der Liste Feldeigenschaften.

Wenn das Datum normaler Text ist (kein Feld), müssen Sie nach einer anderen Lösung suchen. Es ist möglich, das Dokument durchzugehen und alle Daten manuell erneut einzugeben, aber Aileen hat bereits herausgefunden, dass ein solcher Ansatz mühsam ist. Hier kann ein Makro nützlich sein: um die Langeweile zu heilen, indem Sie programmgesteuert das tun, was Sie sonst von Hand tun würden.

Das folgende Makro durchläuft ein Dokument und sucht nach allen Daten im Format m / t / jjjj. (Es kann entweder eine oder zwei Ziffern für den Monat oder den Tag geben, muss jedoch vier Ziffern für das Jahr sein.) Wenn ein Datum gefunden wird, das diesem Muster entspricht, wird es in das Format MMMM TT, JJJJ konvertiert.

Sub GetDateAndReplace()

Dim FoundOne As Boolean

Selection.HomeKey Unit:=wdStory, Extend:=wdMove     FoundOne = True ' loop at least once

Do While FoundOne ' loop until no date is found         With Selection.Find             .ClearFormatting             .Replacement.ClearFormatting             .Text = "([0-9]{1,2})[/]([0-9]{1,2})[/]([0-9]{4})"

.Format = True             .Forward = True             .MatchWildcards = True         End With

Selection.Find.Execute Replace:=wdReplaceNone

' check the find to be sure it's a date         If IsDate(Selection.Text) Then             Selection.Text = Format(Selection.Text, "mmmm d, yyyy")

Selection.Collapse wdCollapseEnd         Else ' not a date - end loop             FoundOne = False         End If     Loop End Sub

_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 (12197) gilt für Microsoft Word 2007 und 2010. Eine Version dieses Tipps für die ältere Menüoberfläche von Word finden Sie hier: