Note: The other languages of the website are Google-translated. Back to English
English English

Bagaimana cara mengirim email jika tombol diklik di Excel?

Misalkan Anda perlu mengirim email melalui Outlook dengan mengklik tombol di lembar kerja Excel, bagaimana Anda bisa melakukannya? Artikel ini akan memperkenalkan metode VBA untuk mencapainya secara detail.

Kirim email jika tombol diklik dengan kode VBA


Kirim email jika tombol diklik dengan kode VBA

Harap lakukan hal berikut untuk mengirim email melalui Outlook jika Tombol Perintah diklik di buku kerja Excel.

1. Sisipkan Tombol Perintah di lembar kerja Anda dengan mengklik Pengembang > Menyisipkan > Tombol Perintah (Kontrol ActiveX). Lihat tangkapan layar:

2. Klik kanan Tombol Perintah yang dimasukkan, lalu klik Lihat kode dari menu klik kanan seperti tampilan screenshot di bawah ini.

3. Dalam pembukaan Microsoft Visual Basic untuk Aplikasi jendela, harap ganti kode asli di jendela Kode dengan skrip VBA berikut.

Kode VBA: Kirim email jika tombol diklik di Excel

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2017/9/14
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Body content" & vbNewLine & vbNewLine & _
              "This is line 1" & vbNewLine & _
              "This is line 2"
                  On Error Resume Next
    With xOutMail
        .To = "Email Address"
        .CC = ""
        .BCC = ""
        .Subject = "Test email send by button clicking"
        .Body = xMailBody
        .Display   'or use .Send
    End With
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
End Sub

Catatan:

1). Harap ubah badan email sesuai kebutuhan di xMailBody baris dalam kode.

2). Ganti Alamat email dengan alamat email penerima sejalan .To = "Alamat Email".

3). Tentukan penerima Cc dan Bcc yang Anda perlukan .CC = “” serta .Bcc = “” bagian.

4). Ubah subjek email sesuai .Subject = "Uji pengiriman email dengan mengklik tombol".

4. tekan lain + Q tombol secara bersamaan untuk menutup Microsoft Visual Basic untuk Aplikasi jendela.

5. Matikan Mode Desain dengan mengklik Pengembang > Mode Desain. Lihat tangkapan layar:

Mulai sekarang, setiap kali Anda mengklik Tombol Perintah, email akan dibuat secara otomatis dengan penerima, subjek, dan isi yang ditentukan. Silakan kirim email dengan mengklik Kirim .

Note: Kode VBA hanya berfungsi saat Anda menggunakan Outlook sebagai program email Anda.

Kirim email dengan mudah melalui Outlook berdasarkan bidang milis yang dibuat di Excel:

The Mengirim email kegunaan Kutools untuk Excel membantu mengirim email melalui Outlook berdasarkan bidang milis yang dibuat di Excel.
Unduh dan coba sekarang! (Jejak gratis 30 hari)


Artikel terkait:


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2019 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (73)
Rated 3.5 dari 5 · peringkat 1
Komentar ini diminimalkan oleh moderator di situs
Hai, saya ingin mengirim data dari data tabel pivot, dapatkah Anda membantu?
Komentar ini diminimalkan oleh moderator di situs
Apakah mungkin untuk menulis skrip sehingga ketika Anda mengklik tombol itu akan menempel pada email seperti di atas tetapi menghapus tombolnya juga? sehingga salinan file yang dikirim melalui email tidak lagi memiliki tombol di atasnya?
Komentar ini diminimalkan oleh moderator di situs
Tepat di bawah ".Body = xMailBody" tambahkan berikut ini
.Attachments.Add ActiveWorkbook.FullName
Komentar ini diminimalkan oleh moderator di situs
Hai Dani.

Saya menambahkan bagian seperti yang Anda katakan, tetapi email dengan buku kerja terlampir masih memiliki tombol.
Komentar ini diminimalkan oleh moderator di situs
hai apakah mungkin untuk mengaturnya sehingga saya tidak perlu menekan kirim - secara otomatis mengirim email????
Komentar ini diminimalkan oleh moderator di situs
Hai,
Silakan ganti baris .Display dengan .Send in di atas kode VBA.
Komentar ini diminimalkan oleh moderator di situs
itu hanya menghasilkan satu email dan akan terus menimpa konten alih-alih membuka banyak konsep email.
Komentar ini diminimalkan oleh moderator di situs
Hai semua pertama, terima kasih banyak, posting ini sangat membantu dan berfungsi untuk lampiran. Ini berfungsi untuk saya tetapi tidak ada pembaruan yang disimpan di lembar Anda harus menekan tombol simpan. Saya ingin lampiran memiliki apa pun yang saat ini ada di lembar excel.

Saya dapat mencapai ini dengan menggunakan fitur email bawaan excel tetapi saya menginginkan tombol karena saya perlu membuat hardcode alamat email tertentu.

Jadi secara ringkas saya ingin tahu:

Saya ingin tahu apakah ada cara untuk: setelah pengguna membuka buku kerja excel dan mengedit apakah tombol akan menyimpan lampiran dengan pembaruan?
Komentar ini diminimalkan oleh moderator di situs
Selamat siang,
Kode telah dioptimalkan. Silahkan dicoba dan terima kasih atas komentarnya.

Sub CommandButton1_Click Pribadi ()
'Diperbaharui oleh Extendoffice 2017 / 9 / 14
Redupkan xOutApp Sebagai Objek
Redupkan xOutMail Sebagai Objek
Redupkan xMailBody Sebagai String
On Error Resume Next
Setel xOutApp = CreateObject("Outlook.Application")
Setel xOutMail = xOutApp.CreateItem(0)
ActiveWorkbook.Simpan
xMailBody = "Isi isi" & vbNewLine & vbNewLine & _
"Ini adalah baris 1" & vbNewLine & _
"Ini baris 2"
On Error Resume Next
Dengan xOutMail
.To = "Alamat Email"
.CC = ""
.BCC = ""
.Subject = "Uji pengiriman email dengan mengklik tombol"
.Body = xMailBody
.Attachments.Add ActiveWorkbook.FullName
.Tampilkan 'atau gunakan .Kirim
Berakhir dengan
Pada Kesalahan GoTo 0
Setel xOutMail = Tidak Ada
Setel xOutApp = Tidak Ada
End Sub
Komentar ini diminimalkan oleh moderator di situs
Bagaimana saya bisa melampirkan Buku Kerja Aktif ke email ketika saya menekan tombol?
Komentar ini diminimalkan oleh moderator di situs
Hari baik,
Tepat di bawah ".Body = xMailBody" tambahkan berikut ini
.Attachments.Add ActiveWorkbook.FullName
Komentar ini diminimalkan oleh moderator di situs
Apakah Anda pernah melihat rencana, ingin tahu informasi tentang gambar?
Komentar ini diminimalkan oleh moderator di situs
menggunakan kode VBA ini, dapatkah saya mereferensikan informasi sel di dalam badan email? Misalnya, bagaimana saya mereferensikan nilai sel ke kode di bawah ini?

xMailBody = "Isi isi" & vbNewLine & vbNewLine & _
"Ini adalah baris 1" & vbNewLine & _
"Ini baris 2"

Juga, menggunakan kode (.TO = "alamat email"). bagaimana saya bisa meminta "alamat email" menarik alamat email dari sel di kolom di sebelahnya.


Terima kasih,
Komentar ini diminimalkan oleh moderator di situs
Apakah mungkin untuk menambahkan tombol email kedua dalam lembar kerja yang sama? Ketika saya mencoba melakukannya, itu terhubung ke kode dari tombol email asli. terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hai,
Anda perlu menetapkan kode yang berbeda untuk setiap tombol.
Komentar ini diminimalkan oleh moderator di situs
menggunakan kode VBA ini, dapatkah saya mereferensikan informasi sel di dalam badan email? Misalnya, bagaimana saya mereferensikan nilai sel ke kode di bawah ini?

xMailBody = "Isi isi" & vbNewLine & vbNewLine & _
"Ini adalah baris 1" & vbNewLine & _
"Ini baris 2"

Terima kasih,
Komentar ini diminimalkan oleh moderator di situs
Hai Glenn,
Silakan terapkan kode berikut. Terima kasih atas komentarmu.
xMailBody = [B5]
Komentar ini diminimalkan oleh moderator di situs
Apakah mungkin, alih-alih mengirim lampiran dalam email, untuk mengirim hyperlink ke file (terletak di SharePoint)?
Komentar ini diminimalkan oleh moderator di situs
Hai Laurie,
Tidak dapat membantu Anda dengan itu. Terima kasih atas komentarmu.
Komentar ini diminimalkan oleh moderator di situs
Bisakah saya mereferensikan nilai dalam sel di subjek dengan string? Beberapa variasi di bawah ini?

.Subject = "Acara Baru:" & Target.Address = "$B$38"
Komentar ini diminimalkan oleh moderator di situs
Hai Abi,
Silahkan ubah kodenya menjadi .Subject = "New Event:" & [B38].
Terima kasih atas komentar anda
Komentar ini diminimalkan oleh moderator di situs
Halo,
Adakah yang bisa membantu saya dengan persyaratan berikut?
Saya memiliki lembar excel yang memiliki dua daftar drop-down.

1 daftar drop-down- daftar departemen

2 daftar drop-down- kategori

Yang saya inginkan adalah ketika saya memilih departemen dan kategori dari daftar; (misalnya jika saya memilih "penjualan" di departemen dan "laporan bulanan" dalam kategori)

Saya perlu mengirim email versi PDF dari lembar kerja itu ke tim penjualan dengan subjek email adalah laporan bulanan.

Jika saya memilih "produksi" dari daftar departemen, email akan dikirim ke sekelompok orang di bagian produksi.

Saya menghargai jika Anda dapat membantu saya dalam hal ini

rasike
Komentar ini diminimalkan oleh moderator di situs
Hai Rasik,
Maaf tidak dapat membantu Anda dengan itu. Selamat datang untuk memposting pertanyaan apa pun di forum kami: https://www.extendoffice.com/forum.html untuk mendapatkan lebih banyak dukungan Excel dari profesional Excel atau penggemar Excel lainnya.
Komentar ini diminimalkan oleh moderator di situs
Hai,

Bagaimana saya bisa mendapatkan surat untuk secara otomatis menambahkan tanda tangan saya dari pandangan?
Komentar ini diminimalkan oleh moderator di situs
Hai John,
Kode VBA di bawah ini dapat membantu Anda memecahkan masalah. Terima kasih atas komentar Anda.

Sub CommandButton1_Click Pribadi ()
'Diperbaharui oleh Extendoffice 2019 / 6 / 26
Redupkan xOutApp Sebagai Objek
Redupkan xOutMail Sebagai Objek
On Error Resume Next
Setel xOutApp = CreateObject("Outlook.Application")
Setel xOutMail = xOutApp.CreateItem(0)
Dengan xOutMail
.Tampilkan 'atau gunakan .Kirim
.To = "Alamat Email"
.CC = ""
.BCC = ""
.Subject = "Uji pengiriman email dengan mengklik tombol"
.HTMLBody = "Ini adalah tes pengiriman email di Excel" & "
" & .HTMLBody
'.Kirim
Berakhir dengan
Pada Kesalahan GoTo 0
Setel xOutMail = Tidak Ada
Setel xOutApp = Tidak Ada
End Sub
Komentar ini diminimalkan oleh moderator di situs
Apakah Anda harus menjadi pengguna excel saat menekan tombol untuk mengirim email? atau hanya orang yang menerima email yang harus menjadi pengguna Outlook?
Komentar ini diminimalkan oleh moderator di situs
Hari baik,
Karena email harus dikirim melalui Outlook setelah mengklik tombol di Excel, Anda harus menginstal Outlook di komputer Anda untuk membuatnya berfungsi.
Komentar ini diminimalkan oleh moderator di situs
Saya ingin mengirim lembar kerja excel di email tetapi tidak mengirimnya. Bagaimana Anda menulis kode untuk mengirim dokumen sebagai email?
Komentar ini diminimalkan oleh moderator di situs
Hai marcus,
Kode VBA di bawah ini dapat membantu Anda memecahkan masalah.

Sub SendWorkSheet()
'Perbarui 20190626
Redupkan xFile Sebagai String
Redupkan xFormat Selamanya
Redupkan Wb Sebagai Buku Kerja
Redupkan Wb2 Sebagai Buku Kerja
Redupkan FilePath Sebagai String
Redupkan Nama File Sebagai String
Redupkan OutlookApp Sebagai Objek
Redupkan OutlookMail Sebagai Objek
On Error Resume Next
Application.ScreenUpdating = Salah
Setel Wb = Application.ActiveWorkbook
Lembar Aktif.Salin
Setel Wb2 = Application.ActiveWorkbook
Pilih Kasus Wb.FileFormat
Kasus xlBukaXMLBuku kerja:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Kasus xlOpenXMLWorkbookMacroDiaktifkan:
Jika Wb2.Memiliki VBProject Kemudian
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Lain
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Kasus Excel8:
xFile = ".xls"
xFormat = Excel8
Kasus xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Sekarang, "dd-mmm-yy h-mm-ss")
Setel OutlookApp = CreateObject("Outlook.Application")
Setel OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
Dengan OutlookMail
.To = "skyyang @extendoffice.com "
.CC = ""
.BCC = ""
.Subject = "fitur kte"
.Body = "Silakan periksa dan baca dokumen ini."
.Lampiran.Tambahkan Wb2.Nama Lengkap
.Tampilan
'.Kirim
Berakhir dengan
Wb2.Tutup
Bunuh FilePath & FileName & xFile
Setel OutlookMail = Tidak Ada
Setel OutlookApp = Tidak Ada
Application.ScreenUpdating = Benar
End Sub
Komentar ini diminimalkan oleh moderator di situs
Bagaimana saya bisa melampirkan Lembar Kerja Aktif ke email ketika saya menekan tombol?
Komentar ini diminimalkan oleh moderator di situs
Hi Hibah,
Silakan klik kanan tombol dan pilih Lihat Kode, lalu salin kode di bawah ini antara Sub Pribadi dan Sub Akhir. Semoga saya bisa membantu. Terima kasih atas komentar Anda.

Redupkan xFile Sebagai String
Redupkan xFormat Selamanya
Redupkan Wb Sebagai Buku Kerja
Redupkan Wb2 Sebagai Buku Kerja
Redupkan FilePath Sebagai String
Redupkan Nama File Sebagai String
Redupkan OutlookApp Sebagai Objek
Redupkan OutlookMail Sebagai Objek
On Error Resume Next
Application.ScreenUpdating = Salah
Setel Wb = Application.ActiveWorkbook
Lembar Aktif.Salin
Setel Wb2 = Application.ActiveWorkbook
Pilih Kasus Wb.FileFormat
Kasus xlBukaXMLBuku kerja:
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
Kasus xlOpenXMLWorkbookMacroDiaktifkan:
Jika Wb2.Memiliki VBProject Kemudian
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
Lain
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
End If
Kasus Excel8:
xFile = ".xls"
xFormat = Excel8
Kasus xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Sekarang, "dd-mmm-yy h-mm-ss")
Setel OutlookApp = CreateObject("Outlook.Application")
Setel OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
Dengan OutlookMail
.To = "skyyang @extendoffice.com "
.CC = ""
.BCC = ""
.Subject = "fitur kte"
.Body = "Silakan periksa dan baca dokumen ini."
.Lampiran.Tambahkan Wb2.Nama Lengkap
.Tampilan
'.Kirim
Berakhir dengan
Wb2.Tutup
Bunuh FilePath & FileName & xFile
Setel OutlookMail = Tidak Ada
Setel OutlookApp = Tidak Ada
Application.ScreenUpdating = Benar
Komentar ini diminimalkan oleh moderator di situs
Hai,

Apakah ada cara untuk mengubah nama file ke tanggal saat ini ketika dilampirkan ke email?
Komentar ini diminimalkan oleh moderator di situs
Hai,

Saya telah mengerjakan selembar, tetapi saya tidak dapat menyelesaikannya. Saya harap Anda dapat membantu saya :)

File itu sendiri harus berupa xltm (templat) dan harus melampirkan lembar itu sendiri dalam surat.

Dan tanda tangan otomatis, maka saya akan sangat senang.

Terima kasih sebelumnya /Dr. Nang
Komentar ini diminimalkan oleh moderator di situs
Hai, Saya menjalankan spreadsheet dengan 80 akun bar individual dan telah menggunakan kode VBA di halaman ini dengan banyak keberhasilan. Namun di badan email saya ingin menyalin dan menempelkan rentang sel tertentu dari suatu akun saat mengirim sehingga klien dapat memiliki riwayat. Bisakah Anda membantu dengan kode VBA untuk ini?
Komentar ini diminimalkan oleh moderator di situs
Hai! Terima kasih banyak untuk ini. Sungguh bantuan yang luar biasa.

Apakah mungkin mengirim lembar kerja aktif dengan menekan tombol alih-alih buku kerja lengkap?

Terima kasih!
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan