VBA Outlook | VBA Kodunu Kullanarak Outlook'tan E-posta Nasıl Gönderilir?

VBA'yı excel'de gördük ve görevlerimizi Excel'de makrolar oluşturarak nasıl otomatikleştirdiğimizi gördük, Microsoft Outlook'ta da VBA için bir referansımız var ve bunu kullanarak VBA kullanarak görünümü kontrol edebiliyoruz, bu, görünümde tekrarlanan görevlerimizi otomatikleştirmeyi kolaylaştırıyor ve Excel'e benzer şekilde, geliştirici özelliğinin görünümde VBA'yı kullanmasını etkinleştirmemiz gerekir.

VBA Outlook

VBA'nın güzelliği, PowerPoint, Word ve Outlook gibi diğer Microsoft nesnelerine başvurabilmemizdir. Güzel sunumlar oluşturabiliriz, Microsoft word belgesi ile çalışabiliriz ve son olarak e-postaları da gönderebiliriz. Evet, doğru duydunuz, excel'in kendisinden e-posta gönderebiliriz. Bu kulağa tuhaf geliyor ama aynı zamanda yüzümüze de bir gülümseme katıyor. Bu yazımda, VBA kodlamasını kullanarak excel'den Microsoft Outlook nesnesiyle nasıl çalışılacağını göstereceğim. Okumaya devam etmek…

Outlook'tan Excel'e Nasıl Başvurabiliriz?

Outlook'un bir nesne olduğunu ve nesne referans kitaplığında buna referansı ayarlamamız gerektiğini unutmayın. Outlook nesnesini referans olarak ayarlamak için aşağıdaki adımları izleyin.

Adım 1: Visual Basic Editor'a gidin.

Adım 2: Araçlar> Referans'a gidin.

Adım 3: Aşağıdaki referanslar nesne kitaplığında aşağı kaydırın ve "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY" öğesini seçin .

Excel VBA için kullanılabilir hale getirmek için "MICROSOFT OUTLOOK 14.0 NESNE KÜTÜPHANESİ" kutusunu işaretleyin .

Artık VBA Outlook nesnesine excel'den erişebiliriz.

Excel'den VBA Outlook'tan E-posta Göndermek İçin Bir Kod Yazın

Outlook uygulaması aracılığıyla excel'den e-postalar gönderebiliriz. Bunun için VBA kodları yazmamız gerekiyor. Outlook'tan e-postaları göndermek için aşağıdaki adımları izleyin.

Bu VBA Outlook'tan Excel Şablonuna buradan indirebilirsiniz - VBA Outlook'tan Excel Şablonuna

Adım 1: Bir alt prosedür oluşturun.

Kod:

 Seçenek Açık Sub Send_Exails () End Sub 

Adım 2: Değişkeni VBA Outlook.Application olarak tanımlayın .

Kod:

 Option Explicit Sub Send_Exails () Dim OutlookApp As Outlook.Application End Sub 

Adım 3: Yukarıdaki değişken, VBA Outlook uygulamasına başvurur. Görünümde, e-postalar göndermemiz gerekiyor, bu nedenle Outlook.MailItem olarak başka bir değişken tanımlayın.

Kod:

 Option Explicit Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem End Sub 

Adım 4: Şimdi her iki değişken de nesne değişkenleridir. Onları ayarlamalıyız. Önce "OutlookApp" değişkenini Yeni Outlook.Application olarak ayarlayın .

Kod:

 Sub Send_Exails () OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Ayarla OutlookApp = Yeni Outlook.Application End Sub 

Adım 5: Şimdi ikinci değişkeni "OutlookMail" aşağıdaki gibi ayarlayın.

OutlookMail = OutlookApp.CreateItem (olMailItem) olarak ayarlayın

Kod:

 Sub Send_Exails () OutlookApp Olarak Outlook.Application'ı Dim Outlook.MailItem Olarak Dim OutlookApp = Yeni Outlook.Application Ayarla OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Adım 6: Şimdi VBA Outlook Mail ile ifade erişimi kullanarak .

Kod:

 Sub Send_Exails () OutlookApp Olarak Outlook.Application'ı Dim Outlook.MailItem Olarak Ayarla OutlookApp = Yeni Outlook.Application Ayarla OutlookMail = OutlookApp.CreateItem (olMailItem) OutlookMail ile End Sub ile Bitir 

Artık "E-postanın Gövdesi", "Kime", "CC", "BCC", "Konu" gibi e-posta öğeleriyle mevcut tüm öğelere ve daha pek çok şeye erişebiliriz.

Adım 7: Şimdi ile ifadenin içine bir nokta koyarak IntelliSense listesini görebiliriz .

Adım 8: Önce gövde formatını olFormatHtml olarak seçin .

Kod:

 OutlookMail ile .BodyFormat = olFormatHTML İle Bitir 

Adım 9: Şimdi görüntülemek email.

Kod:

 OutlookMail ile .BodyFormat = olFormatHTML .Display End With 

Adım 10: Şimdi e-postayı e-postanın gövdesine yazmamız gerekiyor. Bunun için HtmlBody'yi seçin .

Kod:

 OutlookMail ile .BodyFormat = olFormatHTML .Display .HTMLBody = "E-postanızı buraya yazın" İle Bitir 

Aşağıda e-posta yazımının gövdesine bir örnek verilmiştir.

Adım 11: E-postayı yazdıktan sonra, alıcının e-posta kimliğini belirtmemiz gerekiyor. Bu erişim için " Kime ".

Adım 12: Ardından , e-postayı CC'ye eklemek istediğinizi belirtin .

Step 13: Now mention the BCC email id’s,

Step 14: Next thing is we need to mention the subject for the email we are sending.

Step 15: Now add attachments. If you want to send the current workbook as an attachment then use the attachment as This workbook

Step 16: Finally send the email by using the Send method.

Now, this code will send the email from your VBA outlook mail. Use the below VBA code to send emails from your outlook.

To use the below code you must set the object reference to “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” under object library of Excel VBA

By setting the reference to the object library is called early binding. The reason why we need to set the reference to object library because without setting the object library as “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” We cannot access the IntelliSense list of VBA properties and methods. This makes the writing of code difficult because you need to be sure of what you are writing in terms of technique and spellings.

 Sub Send_Emails() 'This code is early binding i.e in Tools > Reference >You have check "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY" Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem(olMailItem) With OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Dear ABC" & "

" & "

" & "Please find the attached file" & .HTMLBody 'last .HTMLBody includes signature from the outlook. ''

includes line breaks b/w two lines .To = "[email protected]" .CC = "[email protected]" .BCC = "[email protected];[email protected]" .Subject = "Test mail" .Attachments = ThisWorkbook .Send End With End Sub