• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excel'den PDF'e çevirim mail atma

Katılım
22 Eylül 2010
Mesajlar
88
Excel Vers. ve Dili
2013 Türkçe
Merhaba,

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.
 
Konuyu bulamadım

Selam,

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,
 
Son düzenleme:
Örnek bir dosya eklemenizi tavsiye ederim.
 
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

*********
 
Son düzenleme:
Hata Verdiği Konu

Merhaba,

Ş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.
 
Afedersiniz, kodu eksik yapıştırmışım :(

*** işaretleri arasındaki kısmı düzelttim, tekrar dener misiniz?
 
Büyüksün

patron teşekkür ederim, süper oldu 1 günlük işimizi 30 dakikaya indirdin. Best Buy'dan bir ihtiyacın olursa 212 467 45 93 beklerim.
 
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 :)
 
Sayın seismic elinize sağlık, bu dosyaya birden fazla mail adresi ve dosya adını bir hücreye tanımlalamız mümkünmü?
 
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.
 
Geri
Üst