Stampa unione da Fogli GoogleSviluppo e personalizzazione

Un Google Apps Script che invia email personalizzate dal suo Gmail alle persone del suo foglio Google

Di solito pronto in 15 minutiRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Un Google Apps Script che invia email personalizzate dal suo Gmail alle persone del suo foglio Google

Esempio di risultato

Esempio per il pacchetto Standard

Unire i file mensili delle vendite di 9 negozi in un unico report Excel

Come si esegue

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Cartella: sales/2026-10, 9 file trovati
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 righe
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 righe
2026-11-02 09:14:04 WARN  shop-07.csv: saltate 3 righe senza prezzo (righe 88, 412, 913)
2026-11-02 09:14:05 INFO  Fatto: 10.412 righe -> report-2026-10.xlsx (fogli "Vendite" e "Totali")

Impostazioni, non codice

I nomi delle colonne di ogni negozio si trovano in settings.ini, quindi un nuovo negozio o una colonna rinominata è una riga lì:

[columns]
date = Data, Data vendita, Giorno
product = Prodotto, Articolo, Descrizione
quantity = Q.tà, Quantità, Pz
price = Prezzo, Prezzo unitario

Una parte del codice

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Legge il file di un negozio e gli dà i nomi di colonna del report."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: nessuna colonna per '{name}' (cercate: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: un archivio ZIP con merge_sales.py (310 righe), settings.ini, requirements.txt e un README su come installare Python, eseguire lo script e cosa significa ogni messaggio del registro. Il cliente lo esegue sul proprio computer.

Cliente: una piccola catena di 9 cartolerie; ogni negozio invia le vendite del mese in un file CSV o Excel, con nomi di colonna leggermente diversi. Compito: un unico script che legge tutti i file di una cartella, porta le colonne a una stessa forma e scrive un solo report Excel con tutte le vendite e un foglio di totali per negozio.

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

Quando deve scrivere la stessa email a 80 clienti, studenti o partner con il loro nome, una data o un importo, copiare e incollare richiede ore. Questo Google Apps Script vive nel suo foglio Google e invia a ogni riga un'email personalizzata dal suo Gmail: inserisce {{Name}}, {{Date}} e qualsiasi altra colonna nel suo modello, scrive Inviato e l'ora nella riga e salta le righe già inviate, così può avviarlo di nuovo in sicurezza. È pensato per la sua lista di persone che si aspettano le sue email, non per liste acquistate o invii di massa a freddo. Google limita quante email al giorno può inviare uno script, meno per un Gmail gratuito che per Google Workspace; lo script si ferma al limite e riprende più tardi. Lo installa e lo esegue lei nel suo account.

Cosa è incluso

  • Cosa riceveUn archivio ZIP con il codice Apps Script e un README che spiega come incollarlo nel foglio, autorizzare l'accesso e inviare; il codice è visibile anche nella pagina dell'ordine.
  • Campi personalizzatiQualsiasi colonna del foglio nell'oggetto e nel testo
  • Dal suo GmailLe risposte arrivano a lei, come per ogni email che invia
  • Segni di invioOgni riga mostra quando è stata inviata, così nulla parte due volte
  • Entro i limiti di GoogleSi ferma al limite giornaliero e riprende più tardi
  • Codice leggibileCon commenti, facile cambiare il modello in seguito

Come funziona

  1. 1
    CompitoLei invia le colonne del foglio e l'email che vuole inviare
  2. 2
    CodiceScriviamo lo script e la guida all'installazione
  3. 3
    Lo proviLo incolla in una copia del foglio e prima invia al suo indirizzo
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

I nomi delle colonne del foglio e due o tre righe con nomi e indirizzi inventati, oggetto e testo dell'email con i punti in cui vanno le colonne, e se è testo semplice o formattato da una bozza di Gmail. Chi sono le persone della lista e come ci sono arrivate (suoi clienti, iscritti, studenti), circa quante righe, e se usa un Gmail gratuito o Google Workspace. Eventuali allegati e dove si trovano sul suo Drive.

Le chiederemo:

  • A chi scrive?
  • Quali sono le colonne del foglio?
  • Cosa deve dire l'email?
  • Gmail gratuito o Google Workspace?

Confronto dei pacchetti

PacchettiBaseStampa unione semplice15 €StandardStampa unione con impostazioni30 €PremiumStrumento di stampa unione60 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Codicefino a 150 righefino a 400 righefino a 1.000 righe
File di codice1fino a 3fino a 8
File di impostazioniNoSìSì
Messaggi di errore chiari e un logNoSìSì
Opzioni di avvio e una guida per eseguirlo a orari programmatiNoNoSì
Guida all'installazione e all'avvio (README)SìSìSì
LinguaggioGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Quante email può inviare al giorno?

Tante quante Google permette al suo account di inviare da uno script, meno per un Gmail gratuito che per Google Workspace; Google mostra i valori attuali nella pagina delle quote di Apps Script. Lo script si ferma al limite e l'avvio successivo riprende dalla prima riga non inviata.

Posso inviare a una lista che ho comprato?

No. Lo script è per persone che la conoscono e si aspettano le sue email, come i suoi clienti o iscritti. Le liste acquistate e gli invii di massa a freddo violano le regole di Google e possono far bloccare il suo account.

Aggiungerà un link per disiscriversi?

Può aggiungere una riga che invita a rispondere se non si desiderano queste email, e saltare le righe che segna come disiscritte. Per newsletter con disiscrizione in un clic è più adatto un servizio di newsletter.

Avete accesso al mio Gmail?

No. Lei incolla il codice nel suo foglio, e Google chiede a lei, non a noi, di autorizzarlo a inviare email. Non accediamo mai al suo account.

Non hai trovato la risposta?

Pacchetti