Ändern des Formats vorhandener Daten (Microsoft Word)
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 (3400) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: