Stampa Unione: come formattare le date

Sappiamo tutti che cos'è la Stampa Unione: è un'operazione che ci permette di unire i dati presenti in un file (ad es. un database di access o un file di excel) in un documento di Word. Grazie alla stampa uniione possiamo creare delle etichette per indirizzi oppure dei documenti personalizzati con il nome e i dati del destinatario.

Il problema

Tutto funziona perfettamente, a meno che nell'origine dati non compaia un campo data. Per evidenziare il problema ho creato un file in excel (formato 2010) con i nomi dei Presidenti della Repubblica Italiana e le date di inizio e fine mandato (dati tratti da wikipedia: Elenco dei presidenti della Repubblica italiana).

 

icon Presidenti della Repubblica Italiana

Apriamo Word e iniziamo la nostra stampa unione

i 4 passi di una stampa unione

Se visualizziamo i dati in anteprima, tutto sembra essere normale, ma, ad un esame più attento, ci accorgiamo che De Nicola è stato presidente fino al 12 Maggio 1948 e non fino al 5 Dicembre 1948 come appare in Word.

Stampa Unione: il formato della data è errato!

In pratica nella stampa unione le date vengono mostrate in formato americano (mese/giorno/anno), anche se nel foglio di lavoro excel le date vengono visualizzate correttamente! Il problema non è nell'origine dati: infatti anche cambiando il formato delle celle la visualizzazione della data in Word non cambia.

Il motivo per cui questo accade è spiegato nel dettaglio in questo articolo della Knowledge Base della Microsoft: KB304387

Soluzione

Per visualizzare la data correttamente dobbiamo formattare il campo unione

Formattazione del campo unione in Word

Incominciamo a disattivare i codici di campo: Facciamo click con il tasto destro del mouse sul campo unione e selezioniamo la voce "Attiva o disattiva codici di campo"

Attiva o disattiva i codici di campo

In alternativa possiamo usare la scorciatoia ALT F9 per attivare/disattivare tutti i codice di campo del documento (oppure SHIFT F9 per attivare/disattivare solo il codice di campo selezionato)

Il risultato sarà questo

Stampa Unione: codici di campo

Ovvero:

{MERGEFIELD N} {MERGEFIELD Nome} {MERGEFIELD Dal} {MERGEFIELD Al}

Ora, per formattare gli ultimi 2 campi che contengono le 2 date di inizio e fine mandato dobbiamo scrivere, prima della parentesi graffa di chiusura "}", questi caratteri:

\@ "dd MMMM yyyy"

Scrivete questa riga esattamente come l'ho scritta io, rispettando le MAIUSCOLE/minuscole!
mmmm è diverso da MMMM

In pratica i caratteri \@ indicano l'inserimento di un parametro di formattazione di tipo data/ora, e la stringa racchiusa tra virgolette "dd MMMM yyyy" è la stringa di formattazione da applicare al campo

Facendo l'esempio con l'ultimo campo, questo dovrà diventare così: {MERGEFIELD Al \@ "dd MMMM yyyy"}

Codici di campo disattivati

e facendo l'anteprima dei risultati la data finalmente diventerà: 12 maggio 1948

Stampa Unione: la data è nel formato corretto

Altri formati di data

Nella tabella seguente troverete un paio di stringhe di formattazione che potrebbero esservi utili

Stringhe di FormattazioneRisultato
dd/MM/yyyy 12/05/1948
d/M/yyyy 12/5/48
dddd dd MMMM yyyy Mercoledì 12 maggio 1948

Se avete delle richieste o dei commenti potete contattarmi seguendo questo link