Modifica del formato delle date esistenti (Microsoft Word)
Aileen lavora con molti documenti che hanno la data in un formato numerico, come 9/22/12. Deve convertire queste date in un formato diverso, in particolare il 22 settembre 2012. Si chiede se esista un modo semplice per apportare la modifica senza dover ridigitare ogni data.
La risposta dipende, in gran parte, dalla natura della data che stai cambiando. Le date in un documento di Word possono essere testo semplice o un campo. Puoi capire se la data è un campo semplicemente spostando il punto di inserimento da qualche parte all’interno della data. Se si tratta di un campo, l’intera data dovrebbe essere ombreggiata in grigio chiaro una volta che il punto di inserimento si trova all’interno della data.
Se la data è un campo, puoi fare clic con il pulsante destro del mouse sulla data e scegliere Modifica campo dal menu contestuale risultante. È quindi possibile modificare il campo, inclusa la selezione di un formato di data diverso nell’elenco Proprietà campo.
Se la data è un testo normale (non un campo), è necessario cercare una soluzione diversa. È possibile esaminare il documento e ridigitare manualmente tutte le date, ma Aileen ha già scoperto che un tale approccio è noioso. È qui che una macro può tornare utile: per curare la noia facendo programmaticamente ciò che altrimenti faresti a mano.
La seguente macro scorrerà un documento, cercando tutte le date nel formato g / m / aaaa. (Possono essere presenti una o due cifre per il mese o il giorno, ma devono essere quattro cifre per l’anno.) Se viene trovata una data che corrisponde a questo modello, viene convertita nel formato mmmm d, yyyy.
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
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.
WordTips è la tua fonte di formazione economica su Microsoft Word.
(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (12197) si applica a Microsoft Word 2007 e 2010. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: