• DİKKAT

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

Makro ile sayfayı pdf yaparak mail atmak

Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba

Ekte gördüğünüz dosyada aşağıdaki kodu sayfayı pdf yaparak mail atmak için kullanmak istedim. PDF oluşturuyor ama " Set OutApp = New Outlook.Application" bu satırda yükseltme gerekiyor hatası verip maili atmıyor. Kullandığım Outlook Microsoft Office 2010 Professional Plus paketinin bir parçası, buna uyumlu olması için ne yapabilirim? Yardımlarınız için teşekkür ederim.

Sub PDF_KAYDET_MAIL_GONDER()
'Excel ve PDF dökümanımızın yol tanımlamalarını yapıyoruz
Dim dosyaPath As String, pdfPath As String
Dim OutApp As Outlook.Application
Dim NewMail As Outlook.MailItem
dosyaPath = ThisWorkbook.Path
pdfPath = "Complaint.pdf"
'PDF dosyamızı oluşturuyoruz
Sheets("Giriş Formu Baskı (ing)").ExportAsFixedFormat Type:=xlTypePDF, Filename:=dosyaPath & "\" & pdfPath, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

'Sistemimide yüklü Mail uygulaması Outlook olduğu için nesneyi ona göre yaratıyorum
'Set dam = CreateObject("Outlook.Application").CreateItem(0)
Set OutApp = New Outlook.Application
Set NewMail = CreateItem(olMailItem)
With NewMail
'Yarattığım nesneye göre mail header'ını oluşturuyorum
'With dam
'TO,CC,bCC ve Subject içeriklerini Ayarlar sayfasında, kullanıcıdan çekiyoruz
.To = ThisWorkbook.Sheets("Giriş Formu Baskı (ing)").Range("AK1")
'.CC = ThisWorkbook.Sheets("Ayarlar").Range("C4")
'.BCC = ThisWorkbook.Sheets("Ayarlar").Range("C5")
.Subject = ThisWorkbook.Sheets("Giriş Formu Baskı (ing)").Range("F3") & " Complaint"
'Mail içeriğini de Ayarlar sayfasından çekebilirdik ama direkte yazma örneğimiz olsun
.Body = "Dear," & ThisWorkbook.Sheets("Giriş Formu Baskı (ing)").Range("AK3") & vbNewLine & _
" Please find the attached complaint for " & ThisWorkbook.Sheets("Giriş Formu Baskı (ing)").Range("F3") & "." & _
" Please send us your 8D report according to the 1-2-14 rule." & _
vbNewLine & vbNewLine
'Dosyayı ekledik
.Attachments.Add dosyaPath & "\" & pdfPath
've gönderdik
.Send
End With
MsgBox "Email gönderildi"
End Sub
 

Ekli dosyalar

Aşağıdaki gibi tanımlama yapıldığında ilgili nesnenin (Object) referanslardan tanımlanması gerekir. (Early Binding - Erken Bağlanma Yöntemi)

Dim OutApp As Outlook.Application
Dim NewMail As Outlook.MailItem


VBA tarafında aşağıdaki ayarı kendinize göre yapmanız gerekiyor.

16.0 olarak yazan numara versiyondan dolayı sizde farklı olabilir.

230684
 
Merhaba Korhan bey,

Zaten işaretli bende, ilk baktığım yer burasıydı zaten. Ben mevcut kodun bendeki versiyona uyumsuz olduğu için çalışmadığını düşünmüştüm.
230734
 
Kodu F8 tuşu yardımıyla adım adım çalıştırıp hata veren satırı tespit etmelisiniz. Bu satırı foruma yazarsanız çözüm için incelenebilir.
 
Tam olarak bu satırda hata veriyor.
"Set OutApp = New Outlook.Application"
Ekran görüntüsü aşağıdaki gibi;
230745230746
 
Nette araştırma yaptım. Sanırım sizin kullanıcı hesabınız yönetici yetkisine sahip değil

Hem exceli hem de Outlook programını yönetici olarak çalıştırıp kodu öyle deneyiniz.
 
Nette araştırma yaptım. Sanırım sizin kullanıcı hesabınız yönetici yetkisine sahip değil

Hem exceli hem de Outlook programını yönetici olarak çalıştırıp kodu öyle deneyiniz.
Dediğiniz doğru çıktı, yönetici olarak çalıştırınca kod çalıştı. Teşekkür ederim.
 
Geri
Üst