VBA ile Otomatik Rapor Dağıtımı ve Toplu Mail
Bir işletmede her sabah veya her ay sonu onlarca farklı müşteriye, şubeye veya yöneticiye ayrı ayrı rapor mailleri göndermek ciddi bir operasyonel yüktür. VBA, Microsoft Outlook ile doğrudan entegre çalışarak bu süreci bir "Dijital Posta Güvercinine" dönüştürür.
Excel sayfanızda bir e-posta listesi olduğunu hayal edin. VBA, bu listeyi bir döngüye sokar, her satırdaki e-posta adresini okur, kişiye özel bir hitap metni hazırlar (Örn: "Sayın Ahmet Bey, güncel bakiyeniz 500 TL'dir") ve arkasından Outlook'u tetikleyerek maili otomatik olarak gönderir. Dilerseniz bu maillere PDF raporlarınızı da ek (attachment) olarak iliştirebilirsiniz.
Outlook Application Nesnesi ile Bağlantı Kurmak
VBA kodunun Outlook'u yönetebilmesi için CreateObject("Outlook.Application") komutu ile bir iletişim köprüsü kurulur. Ardından CreateItem(0) metodu ile boş bir mail taslağı oluşturulur.
Temel E-Posta Gönderim Kod Kalıbı
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = "musteri@ornek.com"
.Subject = "Aylık Hesap Ekstresi"
.Body = "Merhaba, güncel raporunuz ektedir."
.Attachments.Add "C:\Raporlar\Rapor.pdf"
.Send ' .Display yazarsanız göndermeden önce ekranda gösterir
End With