Excel als PDF mailen mit "Windows Life Mail" ?
26.06.2013 08:23:15
Klaus
Hallo Beat,
die Adresse steht in A1 des Blattes, und dieses Blatt willst du versenden? Nun gut ... ich kenn ja deine Datei nicht.
"Windows Life Mail"
Sorry, da kann ich dir nicht helfen. Ich habe keine Ahnung, was das ist ...
Falls es dir trotzdem hilft (und fürs Archiv), poste ich hier einen Code um das aktive Blatt als PDF mittels Outlook zu verschicken - der Code ist getestet unter xl2010 mit Outlook2010.
Ich stelle aber den Beitrag wieder auf offen, ändere den Betreff und hoffe, dass jemand eine "Windows Life Mail" Lösung hat.
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 A1 auslesen
MailTo = ActiveSheet.Range("A1").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
Grüße,
Klaus M.vdT.