Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Excel als PDF per Mail versenden |
22.10.2018 11:11:00 |
MF1 |
|
|
|
22.10.2018 11:13:21 |
MF1 |
|
|
|
22.10.2018 11:33:37 |
Gast87370 |
|
|
Von:
MF1 |
Datum:
22.10.2018 11:11:00 |
Views:
956 |
Rating:
|
Antwort:
|
Thema:
Excel als PDF per Mail versenden |
Hallo zusammen,
ich benötige leider dringend eure Hilfe:
Ich habe folgenden Code, damit ich eine ausgefüllte Excel-Datei per Makro als Excel und PDF automatisch (mit vorgegebenen Namen) in einem frei gewähltem Order speichere. Das klappt soweit auch sehr gut.
Jetzt will ich die PDF-Datei zudem per Outlook versenden. Hierbei läuft aktuell alles schief :(
Sub Speichern_unter_mit_Dateinamen()
Dim Dateiname As String
Dateiname = Range("$D$7").Value & " " & Range("$F$4").Value & ".xls" 'Als Excel
Application.Dialogs(xlDialogSaveAs).Show Dateiname 'Als Excel
With ActiveSheet.PageSetup.PrintArea = "A2:V252"
End With
With ActiveSheet.PageSetup
.Zoom = 45 'Zoomfaktor 85%
.FitToPagesWide = 1 '1 Seite breit
.FitToPagesTall = 1 '1 Seite hoch
End With
newName = Range("$B$7").Value & " " & Range("$A$4").Value & ".pdf" 'PDF
fileSaveName = Application.GetSaveAsFilename(InitialFileName:=newName, fileFilter:="PDF (*.pdf), *.pdf") 'PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fileSaveName 'PDF
End Sub
Jetzt will ich die generierte PDF-Datei zudem per Outlook versenden. Hierbei läuft aktuell alles schief ?
Wie schaffe ich es, dass die zuvor generierte PDF bei Outlook eingefügt wird? Die Dateien werden nicht immer am gleichen Speicherort abgelegt, sodass der oben genannte Code auch neu ausgeführt werden kann und die Datei dann in Outlook eingefügt wird.
Der Code der bis jetzt am nächsten ans Ergebnis ran kam war nachfolgender:
Quelle: https://www.dfinvesting.com/makros.php?81#81
Sub pdf_per_mail()
Dim pdf As String
pdf = pdf_erstellen
Call permail(pdf)
Kill (pdf) 'pdf wieder löschen
End Sub
--------------------------------------------------------------------------------
Function pdf_erstellen()
Dim pdf As String
Dim sep As String
sep = Application.PathSeparator
pdf = ThisWorkbook.Path & sep & ThisWorkbook.Name & "_" & Date & Format(Time, "hhmm") & ".pdf" 'Speicherpfad
On Error Resume Next
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdf, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
On Error GoTo 0
pdf_erstellen = pdf
End Function
Sub permail(ByVal pdf As String)
Dim objOutlook As Object
Dim objMail As Object
Dim myAttachments
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Set myAttachments = objMail.Attachments
With objMail
.To = "office@dfinvesting.com"
.Subject = "Excelpedia + youtube"
.Body = "Sehr geehrte Damen und Herren, " & vbNewLine _
& vbNewLine _
& "Danke für das Video zum automatischen Versenden von mails." & vbNewLine _
& "lg"
myAttachments.Add pdf 'Anhang
'Nachricht zur Kontrolle anzeigen
.Display
'Oder direkt senden
'.Send
End With
End Sub
Könnt ihr mir weiterhelfen/Tipps geben, wie ich das Problem am einfachsten lösen kann?
Ich bin leider neu auf dem VBA-Gebiet und sehe aktuell den Wald vor lauter Bäumen nicht mehr :/
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Excel als PDF per Mail versenden |
22.10.2018 11:11:00 |
MF1 |
|
|
|
22.10.2018 11:13:21 |
MF1 |
|
|
|
22.10.2018 11:33:37 |
Gast87370 |
|
|