Mail merge dari SpreadsheetPengembangan & Kustomisasi

Google Apps Script yang mengirim email personal dari Gmail Anda kepada orang-orang di Google Spreadsheet Anda

Biasanya selesai dalam 15 menitTermasuk revisiPemeriksaan kualitas
Paket
Perlindungan pembayaranSelengkapnya
  • Revisi dalam batas paket tidak dikenai biaya.
  • Jika Anda tidak merespons dalam 3 hari setelah penyerahan hasil, hasil kerja diterima secara otomatis.

Uang ditahan saat Anda membayar dan diteruskan hanya setelah Anda menerima hasil kerja.

Google Apps Script yang mengirim email personal dari Gmail Anda kepada orang-orang di Google Spreadsheet Anda

Contoh hasil

Contoh untuk paket Standar

Menggabungkan file penjualan bulanan 9 toko menjadi satu laporan Excel

Cara menjalankannya

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, ditemukan 9 file
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 baris
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 baris
2026-11-02 09:14:04 WARN  shop-07.csv: 3 baris tanpa harga dilewati (baris 88, 412, 913)
2026-11-02 09:14:05 INFO  Selesai: 10.412 baris -> report-2026-10.xlsx (sheet "Penjualan" dan "Total")

Pengaturan, bukan kode

Nama kolom setiap toko disimpan di settings.ini, jadi toko baru atau kolom yang berganti nama cukup ditambahkan satu baris di sana:

[columns]
date = Tanggal, Tanggal penjualan, Hari
product = Produk, Barang, Nama
quantity = Qty, Jumlah, Pcs
price = Harga, Harga satuan

Sebagian kode

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Membaca file satu toko dan memberinya nama kolom laporan."""
    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}: tidak ada kolom untuk '{name}' (dicari: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: arsip ZIP berisi merge_sales.py (310 baris), settings.ini, requirements.txt, dan README tentang cara memasang Python, menjalankan skrip, dan arti setiap pesan di log. Klien menjalankannya di komputernya sendiri.

Klien: jaringan kecil 9 toko alat tulis; setiap toko mengirim penjualan bulanannya sebagai file CSV atau Excel, dengan nama kolom yang sedikit berbeda. Tugas: satu skrip yang membaca setiap file di sebuah folder, menyeragamkan kolomnya, dan menulis satu laporan Excel berisi semua penjualan serta sheet total per toko.

Klien dan semua datanya fiktif.

Tentang layanan ini

Jika Anda perlu menulis email yang sama kepada 80 klien, siswa, atau mitra dengan nama, tanggal, atau jumlah masing-masing, menyalin dan menempel memakan waktu berjam-jam. Google Apps Script ini berada di Google Spreadsheet Anda dan mengirim email personal ke setiap baris dari Gmail Anda sendiri: mengisi {{Name}}, {{Date}}, dan kolom lain apa pun ke templat Anda, menulis Terkirim dan waktunya ke baris itu, serta melewati baris yang sudah terkirim, jadi Anda bisa menjalankannya lagi dengan aman. Skrip ini dibuat untuk daftar orang Anda sendiri yang menantikan email Anda, bukan untuk daftar yang dibeli atau email massal tanpa izin. Google membatasi jumlah email yang bisa dikirim skrip per hari, lebih rendah untuk Gmail gratis daripada Google Workspace; skrip berhenti saat mencapai batas dan melanjutkannya nanti. Anda memasang dan menjalankannya di akun Anda.

Yang termasuk

  • Yang Anda dapatkanArsip ZIP berisi kode Apps Script dan README yang menunjukkan cara menempelkannya ke spreadsheet Anda, memberi izin akses, dan mengirim; kodenya juga ditampilkan di halaman pesanan.
  • Kolom personalKolom spreadsheet apa pun di subjek dan isi email
  • Dari Gmail Anda sendiriBalasan kembali kepada Anda, seperti email apa pun yang Anda kirim
  • Tanda terkirimSetiap baris menunjukkan kapan dikirim, jadi tidak ada yang terkirim dua kali
  • Dalam batas GoogleBerhenti di batas harian dan melanjutkannya nanti
  • Kode yang mudah dibacaDengan komentar, templat mudah diubah nanti

Cara kerja

  1. 1
    TugasAnda mengirim kolom spreadsheet dan email yang ingin dikirim
  2. 2
    KodeKami menulis skrip dan panduan memasangnya
  3. 3
    CobaAnda menempelkannya ke salinan spreadsheet dan mengirim ke alamat Anda sendiri lebih dulu
  4. 4
    RevisiAnda meminta revisi sesuai paket dan mengirim pesan error jika ada

Yang kami butuhkan dari Anda

Nama kolom spreadsheet Anda dan dua atau tiga baris dengan nama dan alamat karangan, subjek dan isi email beserta tempat kolom-kolom dimasukkan, dan apakah berupa teks biasa atau berformat dari draf Gmail. Siapa saja orang dalam daftar dan bagaimana mereka masuk ke daftar itu (klien, anggota, siswa Anda), kira-kira berapa baris, dan apakah Anda memakai Gmail gratis atau Google Workspace. Lampiran, jika ada, dan letaknya di Drive Anda.

Kami akan menanyakan:

  • Kepada siapa Anda menulis?
  • Apa saja kolom spreadsheet-nya?
  • Apa isi emailnya?
  • Gmail gratis atau Google Workspace?

Bandingkan paket

PaketDasarMail merge sederhanaRp 272.000StandarMail merge dengan pengaturanRp 561.000PremiumAlat mail mergeRp 1.139.000
Tenggat1 hari2 hari3 hari
Revisi123
Kodehingga 150 barishingga 400 barishingga 1.000 baris
File kode1hingga 3hingga 8
File pengaturanTidakYaYa
Pesan error yang jelas dan logTidakYaYa
Opsi menjalankan dan panduan menjalankannya terjadwalTidakTidakYa
Panduan instalasi dan menjalankan (README)YaYaYa
BahasaGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Pesan DasarPesan StandarPesan Premium

Perlindungan pembayaran

Anda membayar saat memesan, tetapi uangnya diteruskan hanya untuk hasil kerja yang diterima.

  • Harga pastiHarga paket tidak berubah setelah Anda membayar.
  • Uang ditahanSaat Anda membayar, jumlahnya hanya ditahan. Dana diteruskan ke Dleex setelah Anda menerima hasil kerja.
  • Diperiksa sebelum penyerahanSetiap hasil melewati pemeriksaan kualitas sebelum sampai kepada Anda, dan Anda dapat melihatnya di halaman pesanan sebelum menerimanya.
  • Revisi gratisMinta revisi sesuai brief Anda sebanyak yang diizinkan paket.
  • Diterima setelah 3 hariJika dalam 3 hari setelah penyerahan hasil Anda tidak menerima hasil kerja maupun meminta revisi, hasil kerja diterima secara otomatis. Jika Anda menulis di chat pesanan setelah penyerahan hasil, pesanan akan menunggu; setelah kami menjawab, kami dapat memulai ulang hitungan 3 hari dan akan memberitahukannya di chat.
  • Dikerjakan ulang atau pengembalian dana penuhJika hasilnya tidak sesuai brief Anda dan revisi tidak memperbaikinya, atau pengerjaan memakan waktu lebih dari dua kali tenggatnya, tulis di chat pesanan: kami akan mengerjakan ulang atau mengembalikan pembayaran secara penuh.
Cara kerjanya →

Tanya jawab

Berapa banyak email yang bisa dikirim per hari?

Sebanyak yang diizinkan Google untuk akun Anda dari skrip, yang lebih rendah untuk Gmail gratis daripada Google Workspace; Google menampilkan angka terbarunya di halaman kuota Apps Script. Skrip berhenti di batas itu dan proses berikutnya melanjutkan dari baris pertama yang belum terkirim.

Bisakah saya mengirim ke daftar yang saya beli?

Tidak. Skrip ini untuk orang yang mengenal Anda dan menantikan email Anda, seperti klien atau anggota Anda. Daftar yang dibeli dan email massal tanpa izin melanggar aturan Google dan bisa membuat akun Anda diblokir.

Apakah skrip menambahkan tautan berhenti berlangganan?

Skrip bisa menambahkan kalimat yang meminta orang membalas jika tidak ingin menerima email ini, dan melewati baris yang Anda tandai sebagai berhenti berlangganan. Untuk newsletter dengan berhenti berlangganan sekali klik, layanan newsletter lebih cocok.

Apakah Anda mendapat akses ke Gmail saya?

Tidak. Anda menempelkan kode ke spreadsheet Anda sendiri, dan Google meminta izin kepada Anda, bukan kepada kami, agar skrip bisa mengirim email. Kami tidak pernah masuk ke akun Anda.

Tidak menemukan jawabannya?

Paket