VBA Komut Dosyalarını Kullanarak Bir Excel Elektronik Tablosundan E-posta Gönderme

VBA Komut Dosyalarını Kullanarak Bir Excel Elektronik Tablosundan E-posta Gönderme

Microsoft Excel'den e-posta göndermek için yalnızca birkaç basit komut dosyası gerekir. Bu işlevi elektronik tablolarınıza ekleyin ve Excel'de ne kadar başarabileceğinizi gerçekten artırabilirsiniz.





VBA komut dosyalarının yapabileceği aynı şeyleri gerçekleştirebilen, ancak programlama bilgisine ihtiyaç duymadan birçok harika Excel makrosunu ele aldık. Ancak, tüm bilgisayar bilgilerinizle bir elektronik tablo raporu oluşturmak gibi yalnızca VBA ile yapabileceğiniz birçok gelişmiş şey vardır.





Bu öğreticiyi video olarak izlemeyi mi tercih ediyorsunuz? Seni koruduk!





Neden Excel'den E-posta Göndermelisiniz?

Microsoft Excel'in içinden bir e-posta göndermek isteyebileceğiniz birçok neden vardır.

Belgeleri veya elektronik tabloları haftalık olarak güncelleyen personeliniz olabilir ve bu güncellemelerin ne zaman yapıldığına dair bir e-posta bildirimi almak isteyebilirsiniz. Veya bir kişi tablonuz olabilir ve hepsine aynı anda tek bir e-posta göndermek isteyebilirsiniz.



Muhtemelen Excel'den bir e-posta yayını komut dosyası yazmanın karmaşık olacağını düşünüyorsunuz. Durum hiç de öyle değil.

Bu makaledeki teknik, Excel VBA'da uzun süredir mevcut olan bir özellikten faydalanacaktır. İşbirliği Veri Nesneleri (CDO).





CDO, işletim sisteminin çok erken nesillerinden beri Windows'ta kullanılan bir mesajlaşma bileşenidir. Eskiden CDONTS olarak adlandırılırdı ve daha sonra Windows 2000 ve XP'nin ortaya çıkmasıyla 'Windows 2000 için CDO' ile değiştirildi. Bu bileşen, Microsoft Word veya Excel içindeki VBA kurulumunuza zaten dahil edilmiştir ve kullanıma hazırdır.

Bileşeni kullanmak, VBA ile Windows ürünlerinden e-posta göndermeyi son derece kolaylaştırır. Bu örnekte, sonuçları belirli bir Excel hücresinden iletecek bir e-posta göndermek için Excel'deki CDO bileşenini kullanacaksınız.





Adım 1: Bir VBA Makrosu Oluşturun

İlk adım, Excel Geliştirici sekmesine gitmektir.

Geliştirici sekmesinin içinde, üzerine tıklayın. Sokmak Kontroller kutusunda ve ardından bir komut düğmesi seçin.

Sayfaya çizin ve ardından üzerine tıklayarak yeni bir makro oluşturun. makrolar Geliştirici şeridinde.

tıkladığınızda Oluşturmak düğmesi, VBA düzenleyicisini açacaktır.

Şuraya giderek referansı CDO kitaplığına ekleyin: Aletler > Referanslar editörde.

bulana kadar listeyi aşağı kaydırın Windows 2000 Kitaplığı için Microsoft CDO'su . Onay kutusunu işaretleyin ve tıklayın Tamam .

tıkladığınızda Tamam , komut dosyasını yapıştırdığınız işlevin adını not edin. Daha sonra ihtiyacın olacak.

2. Adım: CDO 'Kimden' ve 'Kime' Alanlarını Ayarlayın

Bunu yapmak için önce posta nesnelerini oluşturmanız ve e-postayı göndermek için gerekli tüm alanları ayarlamanız gerekir.

Alanların birçoğunun isteğe bağlı olmasına rağmen, İtibaren ve NS alanlar gereklidir.

saç rengini değiştir online ücretsiz fotoğraf editörü
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

Bununla ilgili harika olan şey, tam bir e-posta mesajını özelleştirmek için istediğiniz herhangi bir dize oluşturabilmeniz ve bunu strBody değişken.

kullanarak mesajın bileşenlerini bir araya getirin. & Microsoft Excel sayfalarından herhangi birindeki verileri, yukarıda gösterildiği gibi, doğrudan e-posta iletisine eklemek için dize.

Adım 3: CDO'yu Harici SMTP Kullanacak Şekilde Yapılandırın

Kodun sonraki bölümü, CDO'yu e-postayı göndermek için herhangi bir harici SMTP sunucusunu kullanacak şekilde yapılandıracağınız yerdir.

Bu örnek, Gmail üzerinden SSL olmayan bir kurulumdur. CDO, SSL yeteneğine sahiptir, ancak bu, bu makalenin kapsamı dışındadır. SSL kullanmanız gerekiyorsa, bu Github'da gelişmiş kod yardım edebilir.

Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With SMTP_Config
.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') = 2
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') = 'smtp.gmail.com'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate') = 1
.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') = 'email@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
With CDO_Mail
Set .Configuration = CDO_Config
End With

Adım 4: CDO Kurulumunu Sonlandırın

Artık e-postayı göndermek için SMTP sunucusuna olan bağlantıyı yapılandırdığınıza göre, tek yapmanız gereken e-posta için uygun alanları doldurmaktır. CDO_Mail nesnesi ve yayınlayın Göndermek emretmek.

Bunu şu şekilde yaparsınız:

CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
If Err.Description '' Then MsgBox Err.Description

Outlook posta nesnesini kullanmaya başladığınızda ortaya çıkabilecek herhangi bir açılır kutu veya güvenlik uyarısı mesajı olmayacaktır.

CDO, e-postayı bir araya getirir ve mesajı başlatmak için SMTP sunucusu bağlantı ayrıntılarınızı kullanır. E-postayı Microsoft Word veya Excel VBA komut dosyalarına dahil etmenin en kolay yolu.

Komut düğmenizi bu komut dosyasına bağlamak için kod düzenleyiciye gidin ve Sayfa1 bu çalışma sayfasının VBA kodunu görüntülemek için.

Yukarıdaki betiği yapıştırdığınız işlevin adını yazın.

indirmeden veya kaydolmadan ücretsiz film izlemek

Gelen kutumda aldığım mesaj şöyle görünüyordu:

Not : Okuyan bir hata alırsanız Aktarım sunucuya bağlanamadı , aşağıda listelenen kod satırlarına doğru kullanıcı adını, şifreyi, SMTP sunucusunu ve bağlantı noktası numarasını girdiğinizden emin olun. SMTP_Config ile .

Daha İleri Gidin ve Tüm Süreci Otomatikleştirin

Bir düğmeye dokunarak Excel'den e-posta gönderebilmek her şey yolunda ve güzel. Ancak, bu işlevi düzenli olarak kullanmak isteyebilirsiniz, bu durumda işlemi otomatikleştirmek mantıklı olacaktır.

Bunu yapmak için makroda bir değişiklik yapmanız gerekir. Visual Basic Düzenleyiciye gidin ve bir araya getirdiğimiz kodun tamamını kopyalayıp yapıştırın.

Ardından, seçin Bu Çalışma Kitabı itibaren Proje hiyerarşi.

Kod penceresinin üst kısmındaki iki açılır alandan, Çalışma kitabı ve seçin Açık Yöntemler açılır menüsünden.

Yukarıdaki e-posta komut dosyasını yapıştırın Özel Alt Çalışma Kitabı_Open() .

Bu, Excel dosyasını her açtığınızda makroyu çalıştıracaktır.

Sonra, aç Görev Zamanlayıcısı .

Bu aracı, Windows'tan elektronik tabloyu düzenli aralıklarla otomatik olarak açmasını istemek için kullanacaksınız, bu noktada makronuz başlatılacak ve e-posta gönderilecek.

Seçme Temel Görev Oluştur... itibaren Eylem menüsüne erişene kadar sihirbazda ilerleyin ve Eylem ekran.

Seçme Bir program başlatın ve tıklayın Sonraki .

Kullan Araştır Bilgisayarınızda Microsoft Excel'in konumunu bulmak için düğmesine basın veya yolu kopyalayıp Program/komut dosyası alan.

Ardından, Microsoft Excel belgenizin yolunu Argüman ekle alan.

Sihirbazı tamamlayın, zamanlamanız yerinde olacaktır.

Eylemi gelecekte birkaç dakika için planlayarak bir test yapmaya ve ardından çalıştığını onayladıktan sonra görevi değiştirmeye değer.

Not : Makronun düzgün çalıştığından emin olmak için Güven Merkezi ayarlarınızı yapmanız gerekebilir.

Bunu yapmak için e-tabloyu açın ve Dosya > Seçenekler > Güven merkezi .

Buradan, tıklayın Güven Merkezi Ayarları ve sonraki ekranda radyo kadranını Engellenen içerikle ilgili bilgileri hiçbir zaman gösterme .

Microsoft Excel'in Sizin İçin Çalışmasını Sağlayın

Microsoft Excel inanılmaz derecede güçlü bir araçtır, ancak bundan en iyi şekilde nasıl yararlanılacağını öğrenmek biraz korkutucu olabilir. Yazılımda gerçekten ustalaşmak istiyorsanız, VBA ile rahat , ve bu küçük bir görev değil.

telefonumun interneti neden bu kadar yavaş

Ancak, sonuçlar kendileri için konuşur. Kemerinizin altındaki küçük bir VBA deneyimiyle, yakında Microsoft Excel'in temel görevleri otomatik olarak gerçekleştirmesini sağlayarak size daha acil konulara konsantre olmanız için daha fazla zaman kazandırabileceksiniz.

VBA ile uzmanlık oluşturmak zaman alır, ancak buna bağlı kalırsanız emeklerinizin meyvelerini yakında göreceksiniz.

Başlamak için harika bir yer yetkilimizdir Excel'de VBA kullanma eğitimi . Bununla işiniz bittiğinde, Excel'den e-posta göndermek için bu basit komut dosyası çocuk oyuncağı gibi gelecek.

Paylaş Paylaş Cıvıldamak E-posta Canon vs. Nikon: Hangi Fotoğraf Makinesi Markası Daha İyi?

Canon ve Nikon, kamera endüstrisindeki en büyük iki isim. Ancak hangi marka daha iyi kamera ve lens yelpazesi sunuyor?

Sonrakini Oku
İlgili konular
  • üretkenlik
  • Programlama
  • E-posta İpuçları
  • Programlama
  • Visual Basic Programlama
  • Microsoft Excel
  • Microsoft Office İpuçları
Yazar hakkında Ryan Dube(942 Makale Yayınlandı)

Ryan, Elektrik Mühendisliği alanında lisans derecesine sahiptir. 13 yıl otomasyon mühendisliğinde, 5 yıl BT'de çalıştı ve şimdi bir Uygulama Mühendisi. MakeUseOf'un eski Genel Yayın Yönetmeni olarak, Veri Görselleştirme üzerine ulusal konferanslarda konuştu ve ulusal TV ve radyoda yer aldı.

Ryan Dube'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın