Arkadaşlar;
F_SIKAYET formundaki RAPOR sekmesinde bulunan BOLGE seçenğinden ilgili bölgeyi seçip butona basınca hem gövde metni olarak hemde ek olarak aynı mailde gitmesini nasıl sağlarım? Ayrı ayrı gönderiyorum fakat aynı mailde gönderemiyorum.
Arşivimde vardı, bir hayır sever yapmış. Umarım işinize yarar inceleyin isterseniz.
Bu arada sizinkini de benim eklediğimi de inceleme fırsatım olmadı. Bilginize
Sayın ercanşahin;
Teşekkür ediyorum.
Mail göndermek ile ilgili sorun yok. Örneğimde mail gövdesine eklenecek olan bilgi otomatik oluşturuluyor. Ekte bir raporun pdf'ye çevrilmesi ile ekleniyor fakat bunların ikisinide ayrı ayrı kodlarla yapıyorum. Ben ikisinin birleştirilmesini istiyorum. Yani tek tıklama ile hem metin gövdesine otomatik bilgi gelsin hemde rapor pdf olarak eklensin.
Sayın kadirdursun,
eklediğiniz örnek uygulama üst sürüm olması nedeni ile,kendi adıma,inceleme imkanım olmamaktadır fakat;belki bir fikir vermesi veya kullanılabilir olması temennisi ile
Kod:
DoCmd.SendObject acSendReport, "pdf_gonderilecek_raporun_adi", acFormatPDF, "email_adresi_bilgisi", , , "mesaj_konusu", "mesaj_Body"
ya da
Kod:
DoCmd.SendObject acSendReport, [pdf_gonderilecek_raporun_adi], acFormatPDF, "email_adresi_bilgisi",[cc email(s)],[bcc email(s)], [mesaj_konusu], [mesaj_Body], True
yukarıdaki kod ifadelerinden birini kullanmak sureti ile deneyiniz.
Bilginize…iyi çalışmalar,saygılar.
Sayın Atoz112;
Bu örnekteki kodu (sayın direnist'e ait) kendi örneğimin koduna ekleyerek sorunu şimdi çözdüm.
Private Sub Komut52_Click()
Dim i As Byte
Dim yol As String
Dim OutApp As Object
Dim OutMail As Object
If MsgBox("Mail gönderilecek. Devam edilsin mi?", vbQuestion + vbYesNo + vbDefaultButton2, "U Y A R I") = vbYes Then
yol = CurrentProject.Path & "\PDF\Aktif_Şikayetler.pdf"
DoCmd.OutputTo acOutputReport, "Aktif Şikayetler", "PDFFormat(*.pdf)", yol, False
End If
Dim olApp As Object
Dim olItem As Variant
Dim db As DAO.Database
Dim KAYIT As DAO.Recordset
Dim Sorgum As String
Dim Baslik(1 To 9) As String
Dim Satir(1 To 9) As String
Dim Govde() As String
Dim SatirSayisi As Long
Baslik(1) = "Tarih"
Baslik(2) = "Başvuru No"
Baslik(3) = "Durum"
Baslik(4) = "İlçe"
Baslik(5) = "Adres"
Baslik(6) = "Adı Soyadı"
Baslik(7) = "Telefon"
Baslik(8) = "Şikayet"
Baslik(9) = "Cevap"
SatirSayisi = 1
ReDim Govde(1 To SatirSayisi)
Govde(SatirSayisi) = "<HTML><body><table border='2'><tr><th>" & Join(Baslik, "</th><th>") & "</th></tr>"
Sorgum = "SELECT * From T_SIKAYET WHERE [BOLGE] = '" & [RAPOR_BOLGE] & "' AND [DURUM]= 'AKTİF'"
Set db = CurrentDb
Set KAYIT = CurrentDb.OpenRecordset(Sorgum)
If Not (KAYIT.BOF And KAYIT.EOF) Then
Do While Not KAYIT.EOF
SatirSayisi = SatirSayisi + 1
ReDim Preserve Govde(1 To SatirSayisi)
Satir(1) = Nz(KAYIT("TARIH"), "")
Satir(2) = Nz(KAYIT("BASVURU_NO"), "")
Satir(3) = Nz(KAYIT("DURUM"), "")
Satir(4) = Nz(KAYIT("ILCE"), "")
Satir(5) = Nz(KAYIT("ADRES"), "")
Satir(6) = Nz(KAYIT("ADI_SOYADI"), "")
Satir(7) = Nz(KAYIT("TELEFON"), "")
Satir(8) = Nz(KAYIT("SIKAYET"), "")
Satir(9) = Nz(KAYIT("CEVAP"), "")
Govde(SatirSayisi) = "<tr><td>" & Join(Satir, "</td><td>") & "</td></tr>"
KAYIT.MoveNext
Loop
End If
Govde(SatirSayisi) = Govde(SatirSayisi) & "</table></body></html>"
Set olApp = CreateObject("Outlook.application")
Set olItem = olApp.CreateItem(0)
olItem.Display
olItem.To = Me.RAPOR_BOLGE
olItem.Subject = Me.RAPOR_BOLGE & "'YE AİT HENÜZ CAVAPLANMAMIŞ " & SatirSayisi - 1 & " ADET ŞİKAYET BULUNMAKTADIR"
olItem.HTMLBody = Join(Govde, vbNewLine) & Chr(10) & Chr(10) & "LÜTFEN EN KISA ZAMANDA CEVAPLAYINIZ"
olItem.Display
olItem.Attachments.Add yol
KAYIT.Close
Set KAYIT = Nothing
End Sub
Sayın kadirdursun,
Bir diğer alternatif kullanım olarak;
Kod:
Public Function SendEmailDisplayOutlook( _
MsgTo As String, _
MsgSubject As String, _
MsgBody As String, _
ReportPath As String)
Dim olApp As New Outlook.Application
Dim olMailItem As Outlook.MailItem
Set olMailItem = olApp.CreateItem(0)
With olMailItem
.To = MsgTo
.Subject = MsgSubject
.Body = MsgBody
.Attachments.Add ReportPath
.Display
End With
Set olMailItem = Nothing
Set olApp = Nothing
End Function
yukarıdaki kodları bir modül içerisine kaydedip akabinde ilgili bir buton içeriğinde de
Kod:
Dim dosyaadi As String
dosyaadi = "dosyayolu_ve_raporun_adi" & Format(Now, "YYYYMMDD_hms") & ".pdf"
DoCmd.OutputTo acOutputReport, "raporun_adi", acFormatPDF, dosyaadi
Call SendEmailDisplayOutlook("email_adresi_bilgisi", "mesaj_konusu", "mesaj_Body", dosyaadi)
yazmak sureti ile de çözüm elde edilebilir.sorununuzu araştırmalarınız neticesinde çözüme ulaştırmanız sizin için olumlu bir gelişme.bu çabalarınızın daim olması temennisi ile,paylaşımınız için de teşekkürler.bilginize…iyi çalışmalar,saygılar.