• DİKKAT

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

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

Soru PDF Yap Mail Olarak Gönder

  • Konbuyu başlatan Konbuyu başlatan Hsn55
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Şubat 2021
Mesajlar
594
Excel Vers. ve Dili
2010, Türkiye
İyi akşamlar;
Ekli dosyamda PDF sayfasında ki son dolu satıra kadar olan hücrelerdeki verileri buton ile PDF dosyayı yapıp ek olarak E7 hücresi gönderen, E8 hücresi Alıcı, E9 hücresi Konu ve 10 Hücresi içerik olarak mail olarak göndermek istiyorum. Bu konuda desteğinize ihtiyacım var. Yardımcı olursanız sevinirim saygılar.
 
Daha önce forumda bu konu işlenmişti.

 
Korhan bey merhabalar;
Ekli dosyada uyarlamış olduğum dosyada ki makro ile;
1. Buton Masa Üstüne PDF dosyası oluşturuyorum.
2.Buton ile Bu dosyayı seçiyorum.
3.Buton ile ise bu seçmiş olduğum dosyayı gönderiyorum.
Benim yapmak istediğim bu işlem tek butona düşürüp Masa üstüne PDF dosyası oluşturmadan ve dosya seçme işlemi yapmadan Mail Gönder butonuna bastığımız zaman sadece PDF sayfasını son satırdaki veriye göre Veri sayfasındaki E7 hücresindeki isimle PDF oluşturup E8 hücresinde mail adresi yazılı olan kişiye gönderebilir miyiz?
Dosya link :
 
Verdiğim linkleri inceleyiniz. Benzer uygulamaların olması gerekiyor.
 
Diğer işlemleri yaptım. Fakat dosyayı kaydetmeden direk olarak PDF olarak gönderilmesini çözemedim
 
Aşağıdaki yöntemle tüm makrolarınızı peşpeşe çalıştırabilirsiniz.

C++:
Sub Tumunu_Calistir()
Call Birinci Makronuzun Adı
Call İkinci Makronuzun Adı
Call Üçüncü Makronuzun Adı
End Sub
 
Call İkinci Makroda dosya seçme yolu var .Yine dosya seçmeye işlemi yapmak gerekiyor.
 
Dosyanın adını E9 hücresinden aldırmışsınız.

Orada Tekkeköy yazıyor. Dosyanızın adı bu mu olacak?
 
Sayfadaki TextBox nesnesinde ise aşağıdaki isim yazıyor.

GELEMEN -PUHANTAJ CETVELİ.pdf

Tam olarak dosyanızın ismi ne olacak yazar mısınız?
 
Korhan Bey dosyanın ismini veri sayfasında ki E7 hücresinden alacak
 
Kendinize göre düzenlersiniz.

Bir butona kodu tanımlayp kullanabilirsiniz.

Diğer kodlarınızı silebilirsiniz.

C++:
Option Explicit

Sub MAIL_GONDER()
    Dim S1 As Worksheet, S2 As Worksheet
    Dim Uygulama As Object, Yeni_Mail As Object
    Dim Yol As String, Dosya_Adi As String, Son As Long
   
    Set S1 = Sheets("PDF")
    Set S2 = Sheets("VERİ")
   
    Yol = ThisWorkbook.Path & Application.PathSeparator
    Dosya_Adi = S2.Range("E3").Value & "-" & S2.Range("E7").Value & ".pdf"

    Son = S1.Cells(S1.Rows.Count, "B").End(xlUp).Row
   
    S1.Range("A1:AR" & Son).ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Yol & Dosya_Adi, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
   
    On Error Resume Next
    Set Uygulama = GetObject(, "Outlook.Application")
    On Error GoTo 0
  
    If Uygulama Is Nothing Then Call Shell("Outlook.exe", vbHide)
  
    Set Uygulama = CreateObject("Outlook.Application")
    Set Yeni_Mail = Uygulama.CreateItem(0)

    With Yeni_Mail
        .Display
        .To = S2.Range("E8").Value
        .Subject = S2.Range("E9").Value
        .HtmlBody = S2.Range("E10").Value & vbCr & .HtmlBody
        .Attachments.Add Yol & "\" & Dosya_Adi
        .Save
        .Send
    End With
   
    Set S1 = Nothing
    Set S2 = Nothing
    Set Uygulama = Nothing
    Set Yeni_Mail = Nothing
   
    MsgBox "Mail gönderilmiştir.", vbInformation
End Sub
 
Korhan bey şöyle bir uyarı çıkıyor. "Bir program sizin adınıza e-posta iletisi göndermeye çalışıyor. Bu beklenmiyordu, Reddet 'e tıklayın ve virüsten koruma yazılımınızın güncel olduğunu doğrulayın. " Neden olabilir ?
 
Hangi Excel sürümünü kullanıyorsunuz?
 
Eğer 2003 kullansaydınız uyarı için normal diyebilirdim. Ama bende 2010 versiyonda denemiştim. Dediğiniz uyarıyı almıyorum.

Peki sizin paylaştığınız kod bu uyarıyı veriyor muydu?
 
Otomatik gönderimi virüs saldırısı gibi algılayabiliyor.

Bu durumda benim önerdiğim kod bloğunda aşağıdaki satırı bir sonraki satır gibi değiştirip deneyiniz.

.Send

Olması gereken;

SendKeys "%G", True
 
Ek olarak dosyanızda PUHANTAJ olarak kullanım yapmışsınız. Doğrusu PUANTAJ olması gerekir. Düzeltirseniz iyi olur.
 
Geri
Üst