Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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). Presidenti della Repubblica Italiana (7 kB) Apriamo Word e iniziamo la nostra 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.
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
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
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"}