- Katılım
- 15 Mart 2005
- Mesajlar
- 42,253
- Excel Vers. ve Dili
- Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu deneyiniz.
A1 hücresinde pdf dosyanın adı yazılacak.
A2 hücresinde mailin konusu yazılacak.
A3 hücresinde mail gövdesinde (penceresinde) görünmesi istenen metin yazılacak.
A4 hücresinde mail gönderilecek adres yazılacak.
Bu hücre adreslerini dilediğiniz gibi değiştirebilirsiniz.
Kod aktif sayfadaki yazdırma alanını pdf olarak excel dosyasının bulunduğu klasöre kayıt edip mail olarak gönderir. Kodların çalışması için en az 2010 excel versiyonu gereklidir.
A1 hücresinde pdf dosyanın adı yazılacak.
A2 hücresinde mailin konusu yazılacak.
A3 hücresinde mail gövdesinde (penceresinde) görünmesi istenen metin yazılacak.
A4 hücresinde mail gönderilecek adres yazılacak.
Bu hücre adreslerini dilediğiniz gibi değiştirebilirsiniz.
Kod aktif sayfadaki yazdırma alanını pdf olarak excel dosyasının bulunduğu klasöre kayıt edip mail olarak gönderir. Kodların çalışması için en az 2010 excel versiyonu gereklidir.
Kod:
Sub PDF_KAYDET_MAIL_GONDER()
Dim Uygulama As Object
Dim Yeni_Mail As Object
If Range("A1").Value = "" Then
MsgBox "Lütfen dosya adını yazınız!", vbCritical
Exit Sub
End If
Yol = ThisWorkbook.Path
Dosya_Adi = Range("A1").Value & ".pdf"
Range("Print_Area").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=Yol & "\" & Dosya_Adi, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Set Uygulama = CreateObject("Outlook.Application")
Set Yeni_Mail = Uygulama.CreateItem(0)
With Yeni_Mail
.Subject = Range("A2").Value
.Body = Range("A3").Value
.Attachments.Add Yol & "\" & Dosya_Adi
.Save
If Range("A4").Value = "" Then
.To = ""
.Display
Else
.To = Range("A4").Value
.Send
MsgBox "Mail gönderildi."
End If
End With
Set Uygulama = Nothing
Set Yeni_Mail = Nothing
End Sub