Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Excel tabloda BA-BS formlarının olduğu bir tablom var, Tedarikçilerin mail adreslerini yazdım. Her Tedarikçilerin BA-BS formlarını önce PDF'e çevirmesini ve ilgili mail adreslerine mail atmasını nasıl sağlarız.
Sitede bu konu ile ilgili bir çok örnek mevcut. Örnek dosya eklerseniz benim elimdeki benzer şekilde çalışan dosyalardan faydalanarak bir düzenleme yapma şansımız olabilir. Ama öncelikle site içerisinde arama yapmanızı öneririm.
Aradım ancak bulamadığım için yazdım, ayrıca bulduğum bir mesajda sadece Excel tabloyu mail atıyor benim istediğimde ise önce PDF'e çevirip sonra mail atması yönünde,
Kullanmış olduğum excel versiyonunda pdf çevirici olmadığı için bu işi bir başka program vasıtasıyla gerçekleştiriyorum. Bu yüzden dolayı kodlar uyumluluk gösterir mi emin değilim. Aşağıdaki kodları module1 içerisine kopyalayıp deneyin. Uyumluluk hakkında cevap verirseniz yine yardımcı olmaya çalışırım. (Önceki kodları silin çünkü aynısı burada mevcut.)
VBA editöründeyken Tools/reference menüsünü aktif edin ve Microsoft Outlook 12.0 Object Library referansının yanındaki kutucuğu işaretleyin aksi taktirde kodlar hata verecektir. (Microsoft Outlook 12.0 Object Library kullanmış olduğunuz Office versiyonuna göre değişkenlik gösterebilir. Farklı bir rakam varsa onu işaretleyin)
**********
Sub Button1_Click()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Documents and Settings\A270352\Desktop\BA_BS mutabakat.pdf", Quality _
:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Dim objOutlook As Object
Dim objMail As Object
Dim i As Long, NoA As Long
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = Sheets("ba-bs formu").Range("I33")
.CC = ""
.Subject = "BA BS MUTABAKAT FORMU"
.Body = "Sayın yetkili, bla bla bla..."
.Attachments.Add "C:\Documents and Settings\A270352\Desktop\BA_BS mutabakat.pdf"
.Save
.Display
End With
'***
Set objMail = Nothing
Set objOutlook = Nothing
'***
Range("G3").Select
End Sub
Şimdi deneyebildim, "Set objOut" olan yerde hata veriyor. Bu arada ben eksik bilgi vermiş olabilirim. Tedarikçilerin mail adreslerini firma listesi sayfasında C kolonuna yazacağım.
Rica ederim, işiniz görüldüyse ne mutlu bana. Bu arada, mail adreslerini düşeyara formülü ile "I33" hücresine otomatik çağırabilirsiniz ve ben alışverişlerde genellikle ebay tercih ediyorum. Yine de aklımda bulunsun tabi
Kodları ben yazmadım, ya buradan ya da http://www.rondebruin.nl/ buradan bulup kendime göre uyarlamıştım. İstediğiniz şeye bizim de ihtiyacımız vardı ve şu şekilde çözdüm;
Önce tüm dosyalar pdf haline getiriliyor (tek tek) ve sabit bir klasör içerisine kopyalanıyor. Sonrasında mail atmak için bir makro çalıştırılarak klasör içerisindeki tüm dosyalar mail'e dosya olarak ekleniyor. Gönderilecek kişinin mail adresi yazılarak mail gönderiliyor. Yapımız itibarıyle, bir seferde oluşturulan dosyalar yalnızca bir adrese gönderildiği için sorun çıkmıyor.
Sizin istediğiniz ise farklı bir şey diye düşünüyorum. Dosyalar hücre içerisindeki değere göre isimlendirilecek ve farklı adreslere ilgili dosyalar gönderilecek sanırım öyle değil mi?
O şekilde biraz zor gibi görünüyor. Belki başka bir alanda dosya isimleri ve mail adresleri yazılarak döngüye sokulabilir. Formun üzerindeki hücreler de bu döngü ile doldurulabilir. Örnek bir dosya ekleyip neler yapılması gerektiğini belirtirseniz eminim sonuca daha kolay ulaşabilirsiniz. Dosyalarınızı 2003 formatında eklerseniz bu işlem daha da hızlanacaktır.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.