[VBA] Mail listesine toplu mail göndermek
#1
Öncelikle uzun zamandan beri aktif olamadığım için kendim sanki yeni üye olmuş ve ilk defa soru soruyor gibi hissediyorum. Mm

Örneğini hazırladığım vt de
tbl_MailListe isimli tabloda
Gönder alanı işaretli ise
ilgili kullanıcının mail adresine
Dosya alanında kayıtlı dosyayı ekleyerek toplu mail atmak istiyorum.

Ek dosyalar vt ile aynı klasörde bulunacağı için yol olarak

CurrentProject.Path & "\Ek\" & [Dosya] yolu işimi görebilir

Ek dosyada daha önce başka projemde kullanıp Outlook ile mail gönderdiğim kodlar vardır.
Sanırım bunlara ilaveten sadece bir For döngüsü ile çözebiliriz ama işin o tarafı beni aşıyor.

Şimdiden yardımcı olacak arkadaşlara teşekkür ediyorum.


Eklenti Dosyaları
.rar   TopluMail.rar (Boyut: 56,99 KB / İndirilme: 180)



  Alıntı
Bu mesajı beğenenler:
#2
Visual Basic
  1. Private Sub btnGonder_Click()
  2. 'Döngü kullanarak form üzerinde gönder onayý iþaretli kullanýcýlara "tblMailListe" tablosunda
  3. 'ilgili kiþiyle eþleþen dosyayý mail olarak gönderebilirmiyiz?
  4. Dim appOutLook As Outlook.Application
  5. Dim MailOutLook As Outlook.MailItem
  6. Dim EkDosya As Outlook.Attachments
  7. Dim Kyt As Recordset, Sayi As Long
  8. Set Kyt = Me.RecordsetClone
  9. Kyt.MoveFirst
  10. Do Until Kyt.EOF
  11. If Kyt!Gonder = True Then
  12. Set appOutLook = CreateObject("Outlook.Application")
  13. Set MailOutLook = appOutLook.CreateItem(olMailItem)
  14. Set EkDosya = MailOutLook.Attachments
  15. With MailOutLook
  16. EkDosya.Add CurrentProject.Path & "\Ek\" & Kyt!Dosya & ".xlsx", olByValue, 1, "iscinar"
  17. .To = Kyt!Mail & ";"
  18. .Subject = Me.Subject
  19. .Body = Me.Body
  20. .Send
  21. Sayi = Sayi + 1
  22. End With
  23. End If
  24. Kyt.MoveNext
  25. Set appOutLook = Nothing: Set MailOutLook = Nothing
  26. Loop
  27. Kyt.Close: Set Kyt = Nothing
  28. MsgBox Sayi & " Adet personele mail gönderilmiþtir"
  29. Exit Sub
  30. email_error:
  31. MsgBox "An error was encountered." & vbCrLf & "The error message is: " & Err.Description
  32. End Sub






  Alıntı
Bu mesajı beğenenler:
#3
Sayın dsezgin;
İlginiz için teşekkür ediyorum.

Son hali aşağıdaki gibi olmuştur, bu haliyle işaretli olanlara mail gönderiyor, kişiye özel dosya eklemese de rastgele bir dosyayı ekliyor.

Toplu mail derken belki meramımı anlatamamış olabilirim,
İstediğim aslında Tabloda işaretli olan her alıcıya özel eki olan tek tek gönderilecek maili tek tıklamayla topluca göndermek idi.
Örnek:
İsmail İşaretli mi? > Hayır > Alt satıra geç
Ali işaretli mi? > Evet > mail adresini bul> Dosya2.xlsx dosyasını gönder > Alt satıra geç
Ahmet işaretli mi? > Evet > mail adresini bul> Dosya3.xlsx dosyasını gönder > Alt satıra geç
Mehmet işaretli mi? > Evet > mail adresini bul> Dosya4.xlsx dosyasını gönder > Alt satıra geç
Mahmut İşaretli mi? > Hayır > Alt satıra geç
Son Kayda gelindi > İşlemi bitir

Visual Basic
  1. Dim appOutLook As Outlook.Application
  2. Dim MailOutLook As Outlook.MailItem
  3. Set appOutLook = CreateObject("Outlook.Application")
  4. Set MailOutLook = appOutLook.CreateItem(olMailItem)
  5.  
  6. Set appOutLook = CreateObject("Outlook.Application")
  7. Set MailOutLook = appOutLook.CreateItem(olMailItem)
  8. With MailOutLook
  9. Dim i As Long, Kyt As Recordset, Kimler As String
  10. Set Kyt = Me.RecordsetClone
  11. Kyt.MoveFirst
  12. Do Until Kyt.EOF
  13. If Kyt!Gonder = True Then Kimler = Kimler & Kyt!Mail & ";"
  14. Kyt.MoveNext
  15. Loop
  16. Kyt.Close: Set Kyt = Nothing
  17. .To = Kimler
  18. .Subject = Me.Subject
  19. .Body = Me.Body
  20. .Attachments.Add (CurrentProject.Path & "\Ek\" & Me.Dosya & ".xlsx")
  21.  
  22. .Send
  23. End With
  24. Exit Sub





  Alıntı
Bu mesajı beğenenler:
#4
Mesaj 2'i Guncelledim......



  Alıntı
Bu mesajı beğenenler:
#5
(25-10-2018, 16:07)dsezgin demiş ki: Mesaj 2'i Guncelledim......

Sayın dsezgin;
Teşekkürler,
Saygılar. Vv



  Alıntı
Bu mesajı beğenenler:
#6
Sevgili Arkadaşlar,

Kurumsal iş ortamlarında e-mail gönderirken özel tanımlanmış imza alanı da önemli ihtiyaçlar arasında bulunuyor. Yapılan bu çalışmaya gönderen kişinin özel olarak oluşturulmuş imzası da eklense şahane olurdu.

Öncelikle; outlookta önceden tanımlanmış imzalardan birinin Access üzerinden seçilmesini tetikleyip tetikleyemeyeceğimizi denemek istiyorum.

.Signature(imza adı) gibi bir kodlama yapılabilir mi? Ya da farklı bir şekilde kodlanabilir mi?

Bu mümkün olmayacaksa; access üzerinden oluşturacağımız imzalardan birini seçip mail gövdesine(sol alt) eklenmesini sağlayabilir miyiz?

Diğer bir konu da; Kişiye özel dosya seçerken herhangi bir formatta (doc,xls,pdf vs) dosya eklemek için formda ilgili kaydın yanına bir komut butonu ekleyip ilgili dokümanı ek dosyasından seçince doküman adını otomatik olarak dosya alanına yazdırmak mümkün olur mu?

Bu 2 konuya dair kodsal yorumlarınızı paylaşabilir misiniz?



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Word Dot şaplonunu Açtırarak Dosya Göndermek Aplt 1 330 12-01-2025, 17:11
Son Mesaj: dsezgin
  Sorgudaki Bilgileri Otomatik Tek Tek Mail Gönderme cirdakc 3 445 08-11-2024, 21:40
Son Mesaj: dsezgin
  Ilgili Raporu Mail Gönderme Mtaner 6 1.490 21-05-2024, 07:09
Son Mesaj: dsezgin
  Etiket Isimlerini Toplu Değiştirme hedefkaya 1 342 24-10-2023, 21:06
Son Mesaj: dsezgin
  Toplu .csv, .xlsx, .xls, .xml Dosya Aktarımı Yapmak adnnfrm 2 575 22-06-2023, 19:04
Son Mesaj: dsezgin
  [VBA] Mail Ile Tablo Ya Da Sorgu Gönderme benuva 5 591 17-06-2023, 12:18
Son Mesaj: benuva
access-sql-18 [VBA] Tabloda Bulunan Ekleri Toplu şekilde Dışarı çıkarmak BeyTor 2 409 01-05-2023, 19:16
Son Mesaj: BeyTor
  Toplu Taksitlendirme Işleminde Her Taksit Için Tabloya Ayrı Kayıt Nasıl Yapabilirim. OĞUZ TÜRKYILMAZ 10 1.198 12-03-2023, 21:18
Son Mesaj: OĞUZ TÜRKYILMAZ

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi