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

  • Gabriel Brooks
  • 1
  • 3480
  • 212
reklâm

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

VBA komut dosyalarının yapabildiği şeyleri başarabilen ancak programlama bilgisine ihtiyaç duymadan çok sayıda harika Excel makroları ele aldık. Ancak, tüm PC bilgilerinizle birlikte 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önder?

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

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

Muhtemelen Excel'den bir e-posta yayını komut dosyası oluşturmanın karmaşık olacağını düşünüyorsunuz. Hiç de böyle değil.

Bu makaledeki teknik, uzun süredir Excel VBA'da bulunan bir özelliği kullanacak, İşbirliği Veri Nesneleri (CDO).

CDO, işletim sisteminin çok erken nesillerinden beri Windows'ta kullanılan bir mesajlaşma bileşenidir. CDONTS olarak adlandırılan ve daha sonra Windows 2000 ve XP gelişi ile değiştirildi “Windows 2000 için CDO”. Bu bileşen, Microsoft Word veya Excel'deki VBA kurulumunuza zaten eklenmiştir ve kullanıma hazırdır.

Bileşeni kullanmak, VBA ile Windows ürünlerinin içinden e-posta göndermeyi oldukça kolaylaştırır. Bu örnekte, sonuçları belirli bir Excel hücresinden alacak 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 Developer sekmesine gitmek..

Geliştirici sekmesinde, üzerine tıklayın. Ekle Denetimler kutusunda ve ardından bir komut düğmesi seçin.

Sayfa içine çizin ve üzerine tıklayarak yeni bir makro oluşturun Makrolar Geliştirici şeridinde.

Tıkladığınızda yaratmak düğmesini VBA editörünü açacaktır..

CDO kitaplığına referansı kullanarak gezin Araçlar > Referanslar editörde.

Bulana kadar listeyi aşağı kaydır Windows 2000 Kitaplığı için Microsoft CDO. 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ız olacak.

Adım 2: CDO'yu ayarlayın “itibaren” ve “için” Alanlar

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, itibaren ve için alanlar zorunludur.

Dim CDO_Mail Nesne Dim CDO_Config Nesne Dim SMTP_Config Varyant Dim strSubject Dize Dim strFrom Dize Dim strTo Dize Dim StrCc Dize Dim strBcc Dize Dim strBody Dize Dim strSubject = "Excel Spreadsheet Sonuçları .com "strTo =" [email protected] "strCc =" "strBcc =" "strBody =" Bu çeyreğin toplam sonuçları şöyledir: "& Str (Sheet1.Cells (2, 1))

Bu konuda harika bir şey, tam bir e-posta iletisini özelleştirmek ve istediğiniz kişiye atamak istediğiniz herhangi bir dize oluşturabilmenizdir. strBody değişken.

Mesajın bileşenlerini kullanarak mesajı bir araya getirin. & Microsoft Excel sayfalarından herhangi birinden doğrudan e-posta iletisine veri eklemek için kullanılan dize.

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

Bir sonraki kod bölümü CDO'yu e-postayı göndermek için herhangi bir harici SMTP sunucusunu kullanacak şekilde yapılandırmanız gereken bölümdür..

Bu örnek, Gmail üzerinden SSL olmayan bir kurulumdur. CDO, SSL yeteneğine sahiptir, ancak bu, bu makalenin kapsamı dışındadır. SSL kullanmanız gerekirse, Github’daki bu gelişmiş kod yardımcı olabilir..

Set CDO_Mail = CreateObject ("CDO.Message") Hata Yaparken Hata Yapın_Handling CDO_Config = CreateObject Ayarla ("CDO.Configuration") CDO_Config.Load -1 SMTP_Config Ayarla = CDO_Config.Fields .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 protected] ".Item (" http: / /schemas.microsoft.com/cdo/configuration/sendpassword ") =" şifre ".Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25 .Item (" http: // schemas .microsoft.com / cdo / configuration / smtpusessl ") = True. CDO_Mail Setiyle Birlikte Sona Dön .Configuration = CDO_Config İle Birlikte Sona Er

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

Artık e-postayı göndermek için SMTP sunucusuna bağlantıyı yapılandırdığınıza göre, tek yapmanız gereken, CDO_Mail nesnesi, ve sorunu göndermek komuta.

İşte bunu nasıl yapıyorsunuz:

CDO_Mail.Subject = strSubject CDO_Mail.From = strFrom'dan CDO_Mail.To = strTo CDO_Mail.TextBody = strBody CDO_Mail.CC = strCc CDO_Mail.BCC = strBcc CDO_Mail.Send Hata_Seçesi "Eğer" Eğer "Eğer" "

Outlook posta nesnesini kullandığınızda ortaya çıkabilecek herhangi bir açılır kutu veya güvenlik uyarısı mesajı olmayacak.

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

Komut düğmenizi bu betiğe bağlamak için, kod editörüne gidin ve tıklayın 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.

İşte gelen kutuma gelen mesajın nasıl göründüğü:

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

Daha da İlerleyin ve Tüm Süreci Otomatikleştirin

Bir düğmeye dokunarak Excel'den e-posta gönderebilmek çok iyi ve güzel. Ancak, bu işlevi düzenli olarak kullanmak isteyebilirsiniz, bu durumda işlemi otomatikleştirmek mantıklı olacaktır. 5 E-tablolarınızı otomatikleştirmek için Excel Makroları için Kaynaklar 5 E-tablolarınızı otomatikleştirmek için Excel Makroları için Kaynaklar Excel makrolarını mı arıyorsunuz? İşte aradığınızı gösteren beş site. .

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

Ardından, seçin ThisWorkbook -den proje hiyerarşi.

Kod penceresinin üstündeki iki açılır alandan, Çalışma kitabı ve seç Açık Yöntemler açılır listesinden.

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

Excel dosyasını her açışınızda bu makro çalışır.

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

Bu aracı kullanarak Windows’tan elektronik tabloyu düzenli aralıklarla otomatik olarak açmasını isteyeceksiniz, bu noktada makronuz başlatılacak ve e-posta gönderilecektir.

seçmek Temel Görev Oluştur… -den Aksiyon Menüyü seçin ve sihirbazda size ulaşıncaya kadar ilerleyin. Aksiyon ekran.

seçmek Bir program başlat ve tıklayın Sonraki.

Kullan Araştır Bilgisayarınızda Microsoft Excel'in yerini bulmak için düğmeye basın veya yolu kopyalayıp yapıştırın. Program / script alan.

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

Sihirbazı tamamlayın, zamanlamanız yerinde olur..

İşlemi planlayarak bir test çalıştırmaya değer. Bir Programdaki Geri Dönüşüm Kutusu'nu Otomatik Olarak Boşaltma ve Harcanan Alanını Boşaltma Nasıl Yapılır Bir Programdaki Geri Dönüşüm Kutusu'nu Otomatik Olarak Boşaltma ve Harcanan Alanın Boşaltılması Düzenli olarak boşalmazsanız Bin, veri sürücünüzde büyük miktarda boş alan harcıyor olabilir. Ancak şimdi Windows 10 bir zamanlamaya göre otomatik olarak boşaltabilir. Gelecekte birkaç dakika bekledikten sonra, çalışmanın doğrulandığını onayladıktan sonra görevi değiştirmek.

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 elektronik 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 hiçbir zaman bilgi 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 yararlanabileceğinizi öğrenmek biraz korkutucu olabilir. Yazılımda gerçekten ustalaşmak istiyorsanız, VBA'da rahat olmanız gerekir ve bu küçük bir iş değildir..

Ancak, sonuçlar kendileri için konuşuyor. Kemerinizin altında biraz VBA tecrübesiyle, yakında Microsoft Excel'in otomatik olarak temel işleri yapmasını sağlayarak size daha acil konulara odaklanmanız için daha fazla zaman kazandırır.

VBA ile uzmanlık oluşturmak zaman alır, ancak buna bağlı kalarak işçinizin meyvelerini yakında görürsünüz.

Başlamak için harika bir yer Excel'de VBA kullanma konusundaki yetkili eğitmenimiz Excel'de VBA Makroları Yazma Konusunda Yeni Başlayanlar İçin Bir Eğitim Öğretmeni (Ve Neden Öğrenmelisiniz) Excel'de VBA Makroları Yazma Konusunda Bir Acemi Öğreticisi (Ve Neden Öğrenmelisiniz) düzenli olarak, VBA makrolarının nasıl oluşturulacağını ve daha birçok fonksiyona ve özelliğe nasıl erişileceğini öğrenmeye değer. . Bununla işiniz bittiğinde, Excel'den e-posta göndermek için bu basit komut dosyası çocuk oyuncağı gibi hissedecek.




23.05.25 17:34
Wow, incredible blog format! How long have you ever been blogging for? you made running a blog glance easy. The total glance of your site is wonderful, as neatly as the content! casino en ligne Your method of describing everything in this piece of writing is genuinely fastidious, every one can easily understand it, Thanks a lot. casino en ligne WOW just what I was searching for. Came here by searching for sss casino en ligne Hello, I enjoy reading all of your article. I like to write a little comment to support you. casino en ligne Hi there just wanted to give you a quick heads up. The text in your content seem to be running off the screen in Internet explorer. I'm not sure if this is a format issue or something to do with browser compatibility but I thought I'd post to let you know. The design look great though! Hope you get the problem resolved soon. Many thanks casino en ligne I have been browsing online more than three hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. Personally, if all site owners and bloggers made good content as you did, the web will be much more useful than ever before. casino en ligne I pay a quick visit every day some web sites and information sites to read content, but this website gives quality based articles. casino en ligne Hello everyone, it's my first pay a quick visit at this web page, and piece of writing is in fact fruitful for me, keep up posting these posts. casino en ligne What's up to every one, it's really a pleasant for me to pay a visit this web page, it contains valuable Information. casino en ligne That is a good tip particularly to those new to the blogosphere. Simple but very precise information… Thanks for sharing this one. A must read article! casino en ligne
Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.