Het veranderen van de indeling van bestaande data

Aileen werkt met een groot aantal documenten dat de datum met een numerieke indeling hebben, zoals 9/22/12. Ze moet deze data om te zetten naar een ander formaat, in het bijzonder, 22 september 2012. Ze vraagt ​​zich af of er een eenvoudige manier om de wijziging door te voeren zonder dat elke datum overtypen.

Het antwoord hangt grotendeels af van de aard van de datum veranderen. Data in een Word-document kan rechte tekst of een veld van beide zijn. U kunt zien of de datum is een veld door simpelweg het invoegpunt verplaatsen ergens in de datum. Als het een veld, dan is de hele datum moet worden gearceerd in lichtgrijs zodra de invoegpositie zich in de datum.

Als de datum is een veld, dan kunt u met de rechtermuisknop op de datum en kies Veld bewerken uit de resulterende Context menu. U kunt dan wijzigen het gebied, met inbegrip van het selecteren van een andere datumnotatie in de lijst Veld Eigenschappen.

Als de datum is gewone tekst (niet een veld), dan moet je op zoek naar een andere oplossing. Het is mogelijk om te gaan door middel van het document en handmatig overtypen alle data, maar Aileen al gevonden dat een dergelijke aanpak is vervelend. Dit is waar een macro kan van pas komen: om de verveling door programmatisch doen wat je anders zou doen met de hand te genezen.

De volgende macro zal stap voor stap door een document, op zoek naar alle data in het formaat m / d / jjjj. (Er kunnen één of twee cijfers voor zowel de maand of de dag, maar moet bestaan ​​uit vier cijfers voor het jaar.) Als een datum overeenkomen met dit patroon wordt gevonden, wordt deze omgezet naar het formaat mmmm d, yyyy.

Sub GetDateAndReplace ()
Dim FoundOne zoals Van Boole

Selection.HomeKey Unit: = wdStory, Extend: = wdMove
FoundOne = True 'lus ten minste eenmaal

Doe Terwijl FoundOne 'lus tot er geen datum wordt gevonden
Met 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 Vervang: = wdReplaceNone

'Check de vondst om zeker te zijn dat het een datum
Als IsDate (Selection.Text) Dan
Selection.Text = Format (Selection.Text, "mmmm d, yyyy")
Selection.Collapse wdCollapseEnd
Else 'geen datum - eindlus
FoundOne = False
End If
Lus
End Sub

WordTips is uw bron voor kosteneffectieve Microsoft Word training. (Microsoft Word is de meest populaire tekstverwerker in de wereld.) Deze tip (12.197) is van toepassing op Microsoft Word 2007 en 2010. U kunt een versie van deze tip voor de oudere menu-interface van Word hier vinden: Het veranderen van de indeling van de Bestaande data.