PDF Datei per Excel via Outlook senden?
Hallo Zusammen!
Ich habe folgenden Code zum erstellen einer PDF aus einem Sheet.
Der Code erstellt einen PDF namen und gibt dem Benuzter die Wahl zu speichern wo er will.. Danach kommt noch eine MSG Box und führt einen Datenbankbefehl aus usw.. Alles soweit ok..
Kann man zusätzlich die Datei noch in "Temp" speichern und per PDF senden? Als Betreff den Dateinamen ? Gerne würde ich auch den Emailempfänger direkt vorgeben und wenn möglich auch das senden ohne bestätigen ausführen.. geht das?
Sub speichern_unter_PDF_AV() a = MsgBox("WKZ ins Budget übertragen?", _ vbYesNo + vbQuestion, "WKZ buchen, PDF erstellen?") If a = vbYes Then 'Bereich kopieren Sheets("AV Markt").Range("AH14:AO14").Copy 'einfügen in erste freie Zeile in ausgabe Sheets("Datenbank AV").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues 'Kopiermodus beenden Application.CutCopyMode = False Name = Range("Z1") Sheets("AV Markt").Activate Dim neuerDateiname As String neuerDateiname = Application.GetSaveAsFilename("C:\Temp\" & "AV - " & Name & Format(Date, "dd.mm.yyyy") & ".pdf", "Adobe PDF-Dateien (.pdf),.pdf") If Not neuerDateiname = "Falsch" Then ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=neuerDateiname, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True Dim loI Dim WsShell Set WsShell = CreateObject("WScript.Shell") loI = WsShell.Popup("WKZ erfolgreich übertragen!" & vbCrLf _ & " " & vbCrLf _ & "AV bitte übermitteln" & vbCrLf _ & " " & vbCrLf _ & "AV´s müssen unterschrieben auf dem Laufwerk abgelegt werden!" & vbCrLf _ & "Danke", Title:=" Power Team") End If End If End Sub
1 Antwort
Schau mal ob dir das vll weiterhilft:
Sub Mailversand()
Dim Nachricht As Object, OutlookApplication As Object
Set OutlookApplication = CreateObject("Outlook.Application")
Dim Anhang As String
Anhang = ThisWorkbook.FullName
Set Nachricht = OutlookApplication.CreateItem(0)
With Nachricht
.To = "mailadresse@domain.tld"
.Subject = "Betreff "
.attachments.Add Anhang
.Body = "Mailtext" & vbCrLf & vbCrLf
.Display
.Mail.Send
End With
Set OutlookApplication = Nothing
Set Nachricht = Nothing
End Sub
https://www.dalecom.de/e-mail-mit-anhang-versenden-uber-vba/
Vermutlich muss in den Einstellungen von Outlook noch die Fernsteuerung via MAPI (Mail Application Programming Interface) freigegeben werden.