Makro ile sayfayı pdf yaparak mail atmak

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
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

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Yardımcı olabilecek var mı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Tam olarak bu satırda hata veriyor.
"Set OutApp = New Outlook.Application"
Ekran görüntüsü aşağıdaki gibi;
230745230746
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
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.
 
Üst