VBA Gmail üzerinden Excel'den E-posta Gönder

Bu eğitim size VBA kullanarak Excel'den Gmail üzerinden nasıl e-posta göndereceğinizi gösterecektir.

Microsoft CDO Referansını Ekleme

Excel'in Gmail üzerinden e-posta göndermesine izin vermek için önce CDO referans kitaplığını Excel projenize eklemeniz gerekir.

VBA Düzenleyici'de Araçlar, Referanslar'a tıklayın.

Microsoft CDO Referansını arayın ve Tamam'a tıklayın.

GMail ile E-posta Gönderme

Excel'den Gmail aracılığıyla bir E-posta göndermek için önce bir CDO nesnesi bildirmeniz gerekir (CDO.Message olarak gMail'i karartın).

İkinci olarak, kodunuzdaki mesajınız için SSL Kimlik Doğrulamasını yapılandırmanız gerekir. Bu, e-postanızın doğru bir şekilde geçmesi için SMTP sunucusunu ve Bağlantı Noktası Ayrıntılarını ayarlamanız ve ayrıca kullanıcı adınızı ve şifrenizi ayarlamanız gerektiği anlamına gelir.

Aşağıdaki kod parçacığında, Excel işlevinizin başında ihtiyacınız olan şey budur. Bir E-posta Alıcısına (strTo) ve bir Konuya (strSubject) ihtiyacınız vardır, ancak e-postanın Bilgisi ve Gövdesi isteğe bağlı değişkenler olabilir.

12345678910111213141516171819202122232425262728 İşlev CreateEmail(strTo As String, strSubject As String, Opsiyonel strCC As String, Opsiyonel strBody As String)'bir CDO nesnesi oluşturgMail'i CDO Olarak Karartın.MesajgMail'i ayarla = Yeni CDO.Mesaj'SSL Kimlik Doğrulamasını EtkinleştirgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Doğru'SMTP kimlik doğrulamasını Etkinleştir=true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'SMTP sunucusunu ve bağlantı noktası Ayrıntılarını ayarlayıngMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"gMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25gMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2'Kendi gmail hesabınız için kullanıcı adınızı ve şifrenizi buradan ayarlayıngMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Yapılandırma alanlarını güncellegMail.Configuration.Fields.Update

Bu yapıldıktan sonra, e-postanızı oluşturabilir ve işlevi tamamlayabilirsiniz.

123456789 'e-posta özelliklerini ve gönderilecek dosyayı ayarlayıngMail ile .Subject = "Konuyu buraya yazın".From = "[email protected]".To = strTo.TextBody = strBodyİle bitmek'posta göndermek içingMail.GönderBitiş İşlevi

Daha sonra işlevinizi aşağıdaki kodla arayabilirsiniz.

1234567 Alt GönderE-posta'e-postanın gövdesini oluşturDize olarak strText'i karartstrText = "Günaydın. Umarım iyisindir - bu bir test e-postasıdır"'fonksiyonun argümanlarını doldurun - CC'yi boş bırakın, bu yüzden yer tutucu olarak virgül koyunCreateEmail("[email protected]", "E-postayı Test Et", , strText)Alt bitiş

GMail ile Çalışma Kitabı Gönderme

Bir çalışma kitabını GMail aracılığıyla ek olarak göndermek için, birkaç ekleme ile yukarıdakine çok benzer bir fonksiyon oluşturabilirsiniz.

Çalışma kitabını seçmek için kod eklemeniz ve ardından seçilen dosyayı e-postaya eklemeniz gerekir.

Microsoft Office'i kullanacağız DosyaDialog gönderilecek dosyayı seçmek için komut ve ardından Eklenti Ekle Dosyayı ek olarak eklemek için e-postanın özelliği.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Fonksiyon SendWorkbook(strTo As String, strSubject As String, Opsiyonel strCC As String, Opsiyonel strBody As String) As BooleanHatada eh:'bir CDO nesnesi oluşturGMail'i CDO Olarak Karartın.MesajgMail'i ayarla = Yeni CDO.Mesaj'SSL Kimlik Doğrulamasını EtkinleştirgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Doğru'SMTP kimlik doğrulamasını Etkinleştir=true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'SMTP sunucusunu ve bağlantı noktası Ayrıntılarını ayarlayıngMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2'Kendi gmail hesabınız için kullanıcı adınızı ve şifrenizi buradan ayarlayıngMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Yapılandırma alanlarını güncellegMail.Configuration.Fields.Update'microsoft dosya iletişim kutusuyla gönderilecek dosyayı seçinDim strFileToSend As StringDim dlgFile As FileDialogVaryant olarak Dim strItemDim nDlgResult As LongdlgFile = Application.FileDialog(msoFileDialogFilePicker) olarak ayarlayın'yalnızca excel ve csv dosyaları için filtredlgFile.Filters.Add "Excel Dosyaları", "*.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShownDlgResult = -1 isedlgFile.SelectedItems.Count > 0 isedlgFile.SelectedItems içindeki her strItem içinstrFileToSend = strItemSonraki strItemBitirBitir'e-posta özelliklerini ve gönderilecek dosyayı ayarlayıngMail ile.Subject = "Konuyu buraya yazın".From = "[email protected]".To = strTo.TextBody = strBody'seçilen dosyayı ek olarak ekle.AddAttachment strFileToSendİle bitmek'posta göndermek içingMail.GönderSendWorkbook= DoğruÇıkış Fonksiyonueh:SendWorkbook = YanlışBitiş İşlevi

Yapılandırma bağlantı noktası 25 çalışmıyorsa bir hata alabilirsiniz - "Taşıma sunucuya bağlanamadı" Bağlantı noktasını 25 olarak değiştirin ve tekrar deneyin.

Yukarıdaki fonksiyon aşağıdaki prosedür kullanılarak çağrılabilir.

123456789101112131415 Alt SendMail()Dim strTo As StringDim strSubject As StringString As strBody Dim'değişkenleri doldurstrTo = "[email protected]"strSubject = "Lütfen ekteki finans dosyasını bulun"strBody = "e-postanın gövdesi için buraya bir metin geliyor"'e-postayı göndermek için işlevi çağırınSendWorkbook(strTo, strSubject, , strBody) = true iseMsgbox "E-posta oluşturma Başarılı"BaşkaMsgbox "E-posta oluşturma başarısız oldu!"Eğer sonAlt Bitiş

Göndermek istediğiniz Dosyayı seçmeniz istenecektir. Bu kod, filtrenin “*.csv; *.xls; *.xlsx; *.xlsm” - ancak bu kodu Word içinde de kullanabilir ve filtrenizi buna göre değiştirebilirsiniz.

Dosyayı seçin ve Aç'a tıklayın. Kodun çalışması biraz zaman alabilir - postanız başarıyla gönderilirse aşağıdaki mesajı alırsınız.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave