Ich habe bereit folgendes Problem geschildert.
Ich möchte aus einem Tabellenblatt die E-Mailadresse auslesen(F14),
Disselbe Tabellenblatt als PDF an diese E-Mailadresse versenden.
ich habe von Klaus sehr gute Infos bekommen, komme aber doch nicht weiter.
Vielleicht kannst du Klaus mir nochmals helfen.
Vielen Dank.
Beat
https://www.herber.de/forum/archiv/1316to1320/t1319477.htm#1320601
Option Explicit
Const MyPath As String = "C:\TestTmp\" 'Hier den Pfad anpassen, unter dem du die PDFs _
speichern willst!
Sub SendSheetAsPDF()
Dim MailTo As String
Dim MailCC As String
Dim MailSubject As String
Dim MailText As String
'Email Adresse aus f14 auslesen
MailTo = ActiveSheet.Range("F14").Value
'CC-Adressen: keine. Hier kannst du weitere eintragen, direkt oder als Zellreferenz
MailCC = ""
'Betreff: Workbook-Name und Datum
MailSubject = ActiveWorkbook.Name & " " & Format(Date, "DD.MMM.YYYY")
'Standardtext, im Maildisplay noch änderbar
MailText = "Hallo Welt, (br) hier ist eine Datei!" 'HTML! die (br) gegen HTML-Zeilenumbruch _
tauschen
Call SendSheetOutlook(MailSubject, MailTo, MailCC, MailText)
End Sub
'***************************************************************************
'Makro to send Excel-Sheet directly with outlook
'April 2013 by Klaus M.vdT.
'MODIFIED June 2013: Send pdf, not xlsx!
'original Code by mumpel / www.herber.de / 11.04.2013 11:23:25
'https://www.herber.de/forum/messages/1308295.html
'***************************************************************************
Private Sub SendSheetOutlook(sSubject As String, sTo As String, sCC As String, sText As String)
Dim olApp As Object
Dim AWS As String
Dim olOldBody As String
'define temporary Path and Filename
AWS = MyPath & "\" & Format(Date, "YYYYMMDD") & "_" & Format(Time, "hhmmss") & "_" & _
WorksheetFunction.Substitute(ActiveWorkbook.Name, ".xlsm", "")
'export File as PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=AWS, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
AWS = AWS & ".pdf"
'Make Email
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector.Display
olOldBody = .htmlBody
.To = sTo
.cc = sCC
.Subject = sSubject
.htmlBody = sText & olOldBody
.Attachments.Add AWS
End With
'remove TEMP file
'wenn du das PDF behalten möchtest, diese Zeile auskommentieren!
'sonst wird das temporäre PDF wieder gelöscht
'Kill AWS
End Sub