Prima di scrivere uno script, vale la pena chiedersi se lo strumento che serve non sia già dentro il programma che si usa ogni giorno. Per lettere personalizzate, buste ed etichette la risposta è sì: la stampa unione esiste da decenni in Word ed è presente anche in LibreOffice Writer. Permette di combinare un documento principale con un elenco di destinatari, producendo un documento per ciascuno, senza una riga di codice.
Gli ingredienti
La stampa unione ha due componenti:
- il documento principale, cioè la lettera, la busta o il foglio di etichette, con il testo fisso e dei campi al posto dei dati variabili;
- l'origine dati, di solito un foglio Excel o Calc in cui ogni riga è un destinatario e ogni colonna un campo.
La qualità del risultato dipende quasi interamente dall'origine dati. Un elenco disordinato produce lettere disordinate.
Preparare bene l'elenco
Alcune regole che evitano la maggior parte dei problemi:
- Una sola riga di intestazione nella prima riga del foglio, con nomi brevi e senza spazi:
Nome,Cognome,Indirizzo,CAP,Citta. - Nessuna riga vuota o di titolo sopra l'intestazione e nessuna cella unita.
- Un dato per colonna: nome e cognome separati permettono di scrivere sia «Gentile Mario» sia «Sig. Rossi».
- CAP come testo: se la colonna è numerica,
00184diventa184. Formattate la colonna come testo prima di inserire i dati. - Importi e date pronti: la stampa unione non sempre conserva il formato delle celle. Una colonna aggiuntiva con una formula come
=TESTO(C2;"#.##0,00 €")garantisce che l'importo compaia esattamente come previsto.
La procedura in Word
Le voci si trovano nella scheda Lettere.
- Inizia stampa unione e scegliere il tipo di documento: lettere, messaggi email, buste, etichette.
- Seleziona destinatari > Usa elenco esistente e indicare il file Excel e il foglio corretto.
- Modifica elenco destinatari permette di filtrare o escludere righe, per esempio solo i clienti di una provincia.
- Posizionare il cursore nel testo e usare Inserisci campo unione per ogni dato variabile. I campi compaiono tra virgolette angolari, come «Nome».
- Anteprima risultati mostra la lettera con i dati reali; le frecce scorrono i destinatari.
- Completa e unisci offre tre strade: modificare i singoli documenti (un unico file con tutte le lettere, da controllare prima di stampare), stampare direttamente o inviare come email.
Consiglio sempre la prima opzione: avere il documento completo permette di sfogliarlo e correggere eventuali anomalie prima che diventino carta stampata.
Regole condizionali
Il pulsante Regole aggiunge logica senza programmare. La più utile è Se... Allora... Altrimenti: se il campo Genere vale «F» scrivi «Gentile Signora», altrimenti «Gentile Signore». Un'altra regola pratica è Ignora record se, che salta i destinatari che non soddisfano una condizione, per esempio quelli senza indirizzo.
Le regole sono comode ma diventano difficili da leggere se si moltiplicano. Quando le condizioni superano due o tre, conviene calcolare il testo direttamente nel foglio con una formula, in una colonna Saluto, e inserire quella come semplice campo.
Etichette e buste
Per le etichette si sceglie il formato del foglio adesivo in Etichette > Opzioni, indicando il produttore e il codice riportato sulla confezione. Word crea una tabella con una cella per etichetta; si compone la prima e si usa Aggiorna etichette per replicare il layout su tutte le altre. Prima di stampare un pacco di fogli adesivi, una prova su carta normale da sovrapporre controluce al foglio di etichette evita sprechi.
La stessa cosa in LibreOffice Writer
In Writer si può usare la procedura guidata di stampa in serie, disponibile nel menu Strumenti, che accompagna passo per passo nella scelta del tipo di documento, dell'origine dati e dei campi. L'elenco può essere un foglio Calc o Excel; Writer lo registra come origine dati, e i campi si inseriscono anche trascinandoli dal pannello delle origini dati, che si apre con Ctrl+Maiusc+F4. Il risultato finale può essere salvato come un unico documento o come file separati, anche in PDF.
| Esigenza | Word | Writer |
|---|---|---|
| Inserire campi | Inserisci campo unione | Pannello origini dati o procedura guidata |
| Condizioni | Regole | Campi condizionali |
| Etichette | Lettere > Etichette | Nuovo > Etichette |
| Output unico | Modifica singoli documenti | Salva documento unito |
Quando passare a uno script
La stampa unione copre benissimo i casi in cui il documento ha una struttura fissa. Mostra i suoi limiti quando ogni destinatario ha un numero variabile di righe, come un estratto con l'elenco delle fatture aperte, o quando servono centinaia di file separati con nomi significativi. Nel mio lavoro, in quei casi, passo a un modello generato con Python. Per tutto il resto la stampa unione è più rapida da preparare e più facile da far usare ai colleghi.
In sintesi
- La stampa unione combina un documento principale con un elenco di destinatari, senza codice.
- Curate l'origine dati: un'intestazione, un dato per colonna, CAP come testo.
- Preparate importi e date nel foglio per non perdere il formato.
- Usate Modifica singoli documenti per controllare tutto prima di stampare.
- Per strutture variabili o molti file separati, valutate uno script.