Bir excel sayfasında sağlanan birden çok e-posta kimliğine excel VBA'dan e-posta gönderme ihtiyacı duydunuz mu? Outlook'u açmadan Excel'den nasıl posta göndereceğinizi öğrenmek ister misiniz? Bu makale, insanları Cc ve Bcc'de tutarak, tek bir tıklamayla Excel'den ekli birden çok e-postayı nasıl otomatikleştirebileceğinizi ve e-postaları nasıl gönderebileceğinizi kapsar.
Sonunda, erkekleri anında yüzlerce kimliğe göndermek için dosyayı da indirebilirsiniz. Dosya, excel'den e-posta göndermek için makro içerir.
Excel'den posta nasıl gönderilir?
Excel'den posta göndermek için bu VBA parçacıklarını anlamanız gerekir.
Önemli: Outlook Uygulamasında yapılandırılmış bir e-postanız olmalıdır.
VB Düzenleyiciyi açmak için F11 tuşuna basın.
- Outlook nesne kitaplığına bir referans ekleyin:
-
-
- Menüdeki Araçlar'a gidin ve Referanslar'a tıklayın.
-
-
- Microsoft 16.0 Nesne Kitaplığı'nı bulun. Sürüm farklı olabilir. Excel 2016'da 16.0'dır. İşaretleyin. Ve Tamam'a tıklayın.
-
- Outlook Uygulaması ve Posta Referanslarını Oluşturun: Şimdi Microsoft Outlook'un özelliklerine erişebilmek için nesnesini oluşturmamız gerekiyor.
Dim outApp As Outlook.Application 'Bu, görünüm nesnesine bir başvuru oluşturacaktır. Dim outApp As Outlook.MailItem 'Bu, MailItem'e bir başvuru oluşturacaktır.
-
- Referansları başlat: Yukarıdaki referansların başlatılması gerekir:
Set outApp = Yeni Outlook.Application Set outMail = outApp.CreateItem(0)
-
- OutMail nesnesini kullanarak Posta Gönderme: Aşağıdaki satırlar, hedef posta kimliği, cc, bcc, konu, gövde, ek ve gönder komutunu tanımlayacaktır.
outMail ile .To = "abcd.mail.com" 'Zorunlu. Burada hedef posta kimliğini tanımlarsınız… cc = "cc.mail.com" 'isteğe bağlı. İsterseniz Cc posta kimliği… BCC = "bcc.mail.com" 'isteğe bağlı. Bcc mail id isterseniz… Konu = subj 'olmalıdır. Posta gövdesindeki masaj… Gövde = msg 'isteğe bağlı. Posta gövdesindeki masaj… Ekler. "C:/exceltip.com\test.xlsx" 'isteğe bağlı' ekleyin. Ekin tam adı… Excel'den e-posta göndermek istiyorsanız 'Zorunlu' gönderin. Postayı Outlook'ta görmek istiyorsanız, .Display yöntemini kullanın. İle bitmek
Bu kadar. VBA kullanarak excel'den posta göndermek için ihtiyacınız olan tek şey.
Şimdi bir Excel sütunundaki her bir e-posta kimliğine ayrı ayrı posta gönderen bir örnek görelim.
Senaryo:
Size 100 e-posta kimliği içeren bir excel sayfası verildiğini ve her e-posta kimliğine ayrı ayrı bir e-posta göndermeniz gerektiğini düşünün. Sadece bu değil, öğeleri de eklemeniz gerekir. Manuel olarak yaparsanız bu saatler sürer. Öyleyse bu posta görevini Excel VBA'da otomatikleştirelim.
İşte bu verilere sahibim. "Posta Gönder" başlıklı C sütununda birkaç e-posta kimliği vardır. Bu sütundaki her e-posta kimliğine bir e-posta göndermem gerekiyor.
Bunun için Konu, Masaj gövdesi, CC ve BCC için sütunlar oluşturdum.
"Posta Gönder" arasında boş hücre olmamalıdır. Diğer tüm sütunlarda boş hücreler olabilir. Eğer istersen
birden fazla e-posta kimliği ile daha sonra bu e-posta kimliklerini bu sütuna virgülle yazın. E-posta kimliklerinin geçerli olduğundan emin olun.
Ekleri göndermek istiyorsanız. Bu dosyaların adreslerini ek sütununa yazın.
Konu sütununa konuyu yazın.
Masaj Gövdesi sütununda masaj yapın.
Birini cc'de tutmak istiyorsanız, e-posta kimliğini CC sütununa yazın. BCC'de de aynı. birden çok e-posta kimliği için virgül kullanın.
Şimdi sütundaki her e-posta kimliğine e-posta göndermek için aşağıdaki adımları izleyin.
- Excel'de VBA Düzenleyici'yi açmak için Alt+F11 tuşlarına basın.
- Daha önce anlatılan adımları izleyerek görünüm nesnesine Referans ekleyin.
- Yeni bir modülde aşağıdaki kodu kopyalayın.
'*** Sisteminizde Outlook uygulamasında yapılandırılmış bir Outlook e-postanız olmalıdır *** '*** araçlardaki referanslardan outook nesne kitaplığına referans ekleyin *** Sub BulkMail() Application.ScreenUpdating = False ThisWorkbook.Activate ' Outlook Uygulama ve MailItem Nesnelerine referans oluşturma Outlook.Application Dim outMail As Outlook.MailItem 'Farklı posta öğelerinin değerlerini tutmak için değişken oluşturma Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long 'Verilerim "Exceltip.com" sayfasındadır, herhangi bir sayfa adına sahip olabilirsiniz. ThisWorkbook.Sheets("Exceltip.com"). 'Sütun 3'te e-posta kimliğini içeren son satır alınıyor'u etkinleştirin. lstRow = Cells(Rows.Count, 3).End(xlUp).Row 'Tüm e-posta kimliklerini tutacak Değişken Karartma Range Set rng = Range("C2:C" & lstRow) olarak, özelliklerine erişmek için görünüm nesnesi başlatılıyor Set outApp = New Outlook.Application On Error GoTo cleanup 'nesnenin oluşturulması sırasında herhangi bir hatayı işlemek için. 'Her satırı yinelemek için döngü yapın, e-postadaki verileri değişkenlerde tutun ve her e-posta kimliğine 'posta' gönderin. Her hücre için rng içinde sendTo = Aralık(hücre.Adres).Offset(0, 0).Değer2 subj = Aralık(hücre.Adres).Offset(0, 1).Değer2 & "-MS" msg = Aralık(hücre. Adres).Offset(0, 2).Value2 atchmnt = Aralık(hücre.Adres).Offset(0, -1).Değer2 ccTo = Aralık(hücre.Adres).Offset(0, 3).Değer2 bccTo = Aralık( cell.Address).Offset(0, 4).Value2 On Error Resume Next 'aşağıdaki nesnenin oluşturulması sırasında herhangi bir hatayı vermek için Set outMail = outApp.CreateItem(0) 'Yeni postada posta yazma ve gönderme outMail ile .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = subj .Attachments.Add atchmnt .Send 'bu postayı herhangi bir bildirimde bulunmadan gönder. E-postayı göndermeden önce görmek istiyorsanız, .Display yöntemini kullanın. Hata İle Bitir GoTo 0 'Daha önce yakalanan herhangi bir hatayı temizlemek için Set outMail = Hiçbir şey 'sonraki posta için giden posta nesnesini geçersiz kılıyor Sonraki hücre' döngüsü temizlemeyi bitiriyor: 'oluşturulan tüm nesneleri serbest bırakıyor Set outApp = Nothing Application.ScreenUpdating = True Application.ScreenUpdating = True Alt Bitiş
Yukarıdaki kod, "posta gönder" sütununun bir satırındaki her bir e-posta kimliğine e-posta gönderecektir. Şimdi bu kodu çalıştırmak için doğrudan buradan çalıştırabilirsiniz. Veya çalışma kitabınıza bir şekil veya düğme ekleyebilir ve ardından bu makroyu o nesneye atayabilirsiniz. Özelleştirilebilir oldukları için şekiller kullanıyorum. Böyle yaparak, aşağıdaki adımları izleyin.
-
- Ekle sekmesine gidin.
- İllüstrasyon grubunda şekilleri bulabilir, beğendiğiniz şeklin üzerine tıklayabilirsiniz.
-
- Sayfanıza sürükleyip bırakın.
- İstersen güzelleştir.
- Üzerine sağ tıklayın. Makro Ata'ya tıklayın.
-
- Listeden BulkMail makrosunu seçin.
- Düzenleme modundan çıkın.
Şimdi bu nesneye her tıkladığınızda, makronuz çalışacak ve e-posta gönderecek. Emin olmak için gönderilen postaları kontrol edin.
Excel Mail Sender Dosyasını buradan indirebilirsiniz.
Excel Sayfasını VBA Kullanarak Sütuna Dayalı Birden Çok Dosyaya Böl | Bir çalışma sayfasını bir sütunun değerlerine göre birden çok dosyaya bölmek için, onu yeni bir dosyaya kopyalayıp yapıştırarak filtrelemeniz gerekir.
VBA Kullanarak Excel'deki Verileri Filtreleme | VBA kullanarak verileri filtrelemek kolaydır. Bu basit kod satırları, verileri verilen kriterlere göre filtreler.
Microsoft Excel 2016'da VBA Kullanarak Uyarı Mesajlarını Kapatın | Dosyaları açma ve kapatma gibi birden fazla görevi gerçekleştirirken, Excel, veri kaybetmemeniz için uyarı mesajları gösterir. Çalışan kodu keserler. Onlardan kaçınmak için
VBA Kullanarak Excel'de Sayfalarda Döngü Nasıl Yapılır | İki veya daha fazla sayfa üzerinde ileri ve geri gitmek için aralarında döngü yapmamız gerekir. Birden çok sayfa arasında dolaşmak için kullanırız…
7 Microsoft Excel VBA'da Döngüler İçin Örnekler | For döngüsü, herhangi bir dilde en çok kullanılan döngü tekniğidir. Excel VBA bir istisna değildir.
Popüler Makaleler:
Verimliliğinizi Artıracak 50 Excel Kısayolu | Görevinizde daha hızlı olun. Bu 50 kısayol, Excel'de daha da hızlı çalışmanızı sağlayacaktır.
Excel'de DÜŞEYARA İşlevi nasıl kullanılır | Bu, farklı aralıklardan ve sayfalardan değer aramak için kullanılan excel'in en çok kullanılan ve popüler işlevlerinden biridir.
Excel'de ÇOKEĞERSAY işlevi nasıl kullanılır | Bu şaşırtıcı işlevi kullanarak değerleri koşullarla sayın. Belirli bir değeri saymak için verilerinizi filtrelemeniz gerekmez. Gösterge tablonuzu hazırlamak için Countif işlevi gereklidir.
Excel'de SUMIF İşlevi nasıl kullanılır | Bu, başka bir gösterge panosu temel işlevidir. Bu, belirli koşullardaki değerleri özetlemenize yardımcı olur.