Gmail ile gönderilen mailin ekine pdf eki

03/11/2014, 23:51

mengene2

Merhaba Arkadaşlar,

Aşağıda Access üzerinden gmail hesabımla mail gönderebiliyorum. Sorum şu: bu kod çalıştığında "SiparisBilgileri" adlı raporum bu maille birlikte mailin ekine pdf olarak eklensin ve gitsin istiyorum. Bunun için kodda nasıl bir ekleme yapmak gerekir. Yardımcı olan olursa çok sevinirim.


Kullandığım office sürümü Access 2010 dur.

Saygılarımla

Kod:
Sub sendGmail()
Set objCDOMail = CreateObject("CDO.Message")
konu = "#### | Bilgilendirme " & Me.SiparisID & " nolu siparişiniz ve " & Me.UrunID.Column(1) & " kodlu ürününüz tamamlanmıştır"
ana = "Merhaba değerli müşterimiz. Aşağıda bilgileri olan siparişiniz tarafımızca tamamlanmıştır." & vbNewLine


ana = ana & vbNewLine & "Sipariş No:" & Me.SiparisID & vbNewLine
ana = ana & vbNewLine & "Müşteri Sipariş No:" & Me.MusteriSiparisNo & vbNewLine
ana = ana & vbNewLine & "Ürün Kodu:" & Me.UrunID.Column(1) & vbNewLine
ana = ana & vbNewLine & "Ürün Açıklaması:" & Me.UrunAciklamasi & vbNewLine
ana = ana & vbNewLine & "Ürün Rengi:" & Me.SiparisUrunRenkID.Column(1) & vbNewLine
ana = ana & vbNewLine & "Termin Tarihi:" & Me.TerminTarihi & vbNewLine
ana = ana & vbNewLine & "Sipariş Miktarı:" & Me.ToplamSiparisMiktari & vbNewLine
ana = ana & vbNewLine & "Kapanış Tarihi:" & Me.KapandiTarih & vbNewLine
ana = ana & vbNewLine & "Bu mail otomatik gönderilen bir maildir. Lütfen cevap yazmayınız. İletişim için info@###### adresi veya 0212 ####### nolu telefonla iletişime geçiniz." & vbNewLine
ana = ana & vbNewLine & "Bizimle çalıştığınız için teşekkür ederiz." & vbNewLine
ana = ana & vbNewLine & "Saygılarımızla" & vbNewLine
ana = ana & "###### Planlama Birimi" & vbNewLine

objCDOMail.To = Me.FirmaEmaili
objCDOMail.From = "####@gmail.com"

objCDOMail.Subject = konu
'objCDOMail.AddAttachment "SiparisBilgileri"


objCDOMail.TextBody = ana


With objCDOMail.Configuration.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True

.Item("http://schemas.microsoft.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") = "####@gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "#####"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Update
End With
objCDOMail.Send

Set objCDOMail = Nothing

End Sub
04/11/2014, 00:40

Kur@l

Kod:
objCDOMail.AddAttachment "t:\solen\siparisler\" & Me.siparis_no.Value & ".pdf"
yukarıdaki satırdan önce pdf dosyanızı hazırlamanız gerek.
04/11/2014, 10:37

mengene2

(04/11/2014, 00:40)Kur@l yazdı:
Kod:
objCDOMail.AddAttachment "t:\solen\siparisler\" & Me.siparis_no.Value & ".pdf"
yukarıdaki satırdan önce pdf dosyanızı hazırlamanız gerek.

Teşekkür ederim Kural

Fakat sorun başka bir şekilde çözüme ulaştı. 

Kod:
DoCmd.OutputTo acOutputReport, "RaporAdi", acfformatpdf, Application.CurrentProject.Path & "\Dosya.pdf", False
objCDOMail.AddAttachment Application.CurrentProject.Path & "\Dosya.pdf"
....

Kill Application.CurrentProject.Path & "\Dosya.pdf"

saygılarımla
04/11/2014, 12:11

atoz112

sayın mengene2,

Alıntı:
Kod:
DoCmd.OutputTo acOutputReport, "RaporAdi", acfformatpdf, Application.CurrentProject.Path & "\Dosya.pdf", False

olarak kullandığınız ifade içerisinde sanırım dikkatinizden kaçmış olacaktır hatalı bir yazım söz konusu.

"acfformat" olarak yazdığınız için bu tanımlanamayan bir biçim olarak yorumlanacağından size "Çıktı Biçimi" seçme penceresini göstermek durumunda olacak.bunu engellemek için bu ifadenin yerine acFormatPDF olarak yazmalısınız.böylece,size bir seçim yapma penceresi çıkarmaksızın direkt pdf haline dönüştürme işlemini sağlatacaktır.

kısacası bu satırı,

Kod:
DoCmd.OutputTo acOutputReport, "RaporAdi", acFormatPDF, Application.CurrentProject.Path & "\Dosya.pdf", False

olarak değiştiriniz.bilgilerinize.

iyi çalışmalar,
saygılar.
04/11/2014, 20:37

mengene2

Çok teşekkür ederim sorunum böylece çözüme ulaşmış oldu.