Excel VBA ile Mail Atmak

Опубликовано: 24 Ноябрь 2024
на канале: faruk çubukçu
13,498
128

Excel ile mail atmak
Excel ile mail göndermek
Excel ile elektronik posta göndermek.

Excel VBA ortamında aşağıdaki kod ile bir elektronik postayı göndermek mümkündür. Bilgisayarda Microsoft Outlook'un yüklü olması gerekir.
Gerekli Referansların eklenmesi gerekir.
Microsoft Office ya da Microsoft Outlook

Kodlama işleminde önce nesneler tanımlanır.
Ardından Outlook nesnesi metotları aracılığıyla gönderilecek mail adresine Outlook aracılığıyla mail gönderilir.

Sub mail1()

' nesnelerin tanımlanması
' bu nesnelerin kullanılması için Referansların Microsoft Outlook ya da Office eklenmesi

Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next

With OutMail
.To = "[email protected]"
.CC = ""
.BCC = ""
.Subject = "deneme 2"
.Body = "excel vba ile deneme 2"
' ayrıca path ile belirtilen diğer bir dosya
' .Attachments.Add ("D:\test.txt")
' .Attachments.Add Application.ActiveWorkbook.FullName
.Send
End With

On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing


End Sub

Bir dosya eklemek için

.Attachments.Add ("D:\test.txt")

Kendi dosyasını atmak için:

.Attachments.Add Application.ActiveWorkbook.FullName

Bir alanı göndermek için bir Range nesnesi tanımlanır ve HTMLBody özelliği aracılığıyla veri alanı HTML'e çevrilir. Bunu yapmak için verilerin geçici bir dosya üzerinden HTML sayfaya çevrilmesi gerekmektedir.
Bunu internet üzerinde bulduğum kodlardan kullandım.

.HTMLBody = RangetoHTML(Rng)

RangetoHTML fonksiyonunu Sub'ın altına eklemek gerekir.

NOT: RangetoHTML fonksiyonun kodu Internet üzerinde Ron de Bruin sitesinde ve diğer kaynaklardan bulunabilir.


Faruk Çubukçu - Bilgi Teknolojileri Danışmanlık
www.farukcubukcu.com www.excelakademi.com