Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mehrere PDF anhängen

mehrere PDF anhängen
05.07.2013 16:20:33
rolf
Hallo zusammen
ich habe ein kleines Problem
Habe einen Code der das aktuelle Sheet in PDF umwandelt, speichert und sendet was auch super klappt.
Nun möchte ich dazu noch PDF`s anhängen, der Ordner und das PDF sind immer gleich.
Ich weiss nicht wo und was ich einfügen muss, habe schon ettliches versucht aber es will einfach nicht klappen
Hier der Code
Sub PDFVertrag_Click()
Range("a1:ah62").Select
Dim strFileName As String
strDateiname1 = Range("m12").Value
'Kundennamen
strDateiname2 = Range("o17").Value
'Vertragsnummer
strDateiname3 = Range("y2").Value
'Parkkarte
strFileName = "C:\PDF Vertrag\" & strDateiname1 & "." & strDateiname2 & " mit " & strDateiname3 & ".pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Dim Nachricht As Object, OutApp As Object
Dim AWS As String
Set OutApp = CreateObject("Outlook.Application")
AWS = strFileName
'InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Range("g4")
...........................
Besten Dank für Eure Lösungansätze
Gruss
Rolf

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
.Attachments.Add "Deine Datei" oT
05.07.2013 16:43:12
JoWE

AW: mehrere PDF anhängen
05.07.2013 16:48:33
mumpel
Hallo!
"Attachments.Add" einfach mehrmals setzen.
Gruß, René

AW: mehrere PDF anhängen
07.07.2013 12:35:06
Rolf
Besten Dank für die Antwort aber leider klappt dies nicht.
Wenn ich .Attachments.Add die Adresse eingebe dann klappt dies schon aber dafür ist dann die eigentliche PDF "Dim stringFileName" nicht mehr vorhanden. Habe nun nochmals den ganzen Code eingefügt.
recht herzlichen Dank für Eure Hilfe
Gruss
Rolf
Sub PDFVertrag_Click()
Range("a1:ah62").Select
Dim strFileName As String
strDateiname1 = Range("m12").Value
'Kundennamen
strDateiname2 = Range("o17").Value
'Vertragsnummer
strDateiname3 = Range("y2").Value
'Parkkarte
strFileName = "C:\Dropbox\New Version\PDF Vertrag\" & strDateiname1 & "." & strDateiname2 & "  _
mit " & strDateiname3 & ".pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Dim Nachricht As Object, OutApp As Object
Dim AWS As String
Set OutApp = CreateObject("Outlook.Application")
AWS = strFileName
'InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Range("g4")
' Empfänger kommt in das Feld B10 rein
.Bcc = "buchung@clubhaus-heuboedeli.ch"
' Blind empfänger der Email z.B. Rechnungsstelle
.Subject = "Ihre Vertragsunterlagen für Ihre Miete Clubhaus Heubödeli vom " & Range("d27") & "  _
bis " & Range("n27")
'Datum der Ausführung
.Attachments.Add AWS
'Hier wird eine normale Text Mail erstellt
'Hier wird die HTML Mail erstellt
.HTMLBody = "" & Range("a19") & " " & "

" & "Wir freuen uns das Sie sich für unser Haus _ entschieden haben. Als Anhang senden wir Ihnen unsere Unterlagen für Ihre Miete zu. " & "

" & "Dürfen wir Sie bitten den Vertrag auszudrucken zu unterschreiben und an uns zurückzusenden." & "

" & "

" & "Für die Hausübernahme Zeiten und allfällige Fragen steht Ihnen unser Hausverwalter Herr Jehli gerne zur Verfügung (076 411 46 25) ." & "

" & "

" & "Mit freundlichen Grüssen." & "

" ' B)= Kontakt des Kunden 'Hier wird die Mail nochmals angezeigt .Display 'Hier wird die Mail gleich in den Postausgang gelegt '.Send 'Hier könnte die Datei wieder gelöscht werden 'Kill AWS End With 'OutApp.Quit (Damit das Outlook nicht geschlossen wird) Set OutApp = Nothing Set Nachricht = Nothing End Sub


Anzeige
AW: mehrere PDF anhängen
07.07.2013 13:37:49
Raphael
Hallo Rolf,
bei mir funktioniert es wenn ich deinen Code um die entsprechenden Anhänge erweitere.
Habs dir mal angefügt. So hast du 3 mal den gleichen Anhang in der Mail.
Sub PDFVertrag_Click()
Range("a1:ah62").Select
Dim strFileName As String
strDateiname1 = Range("m12").Value
'Kundennamen
strDateiname2 = Range("o17").Value
'Vertragsnummer
strDateiname3 = Range("y2").Value
'Parkkarte
strFileName = "C:\Dropbox\New Version\PDF Vertrag\" & strDateiname1 & "." & strDateiname2 & " _
mit " & strDateiname3 & ".pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Dim Nachricht As Object, OutApp As Object
Dim AWS As String
Set OutApp = CreateObject("Outlook.Application")
AWS = strFileName
'InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Range("g4")
' Empfänger kommt in das Feld B10 rein
.Bcc = "buchung@clubhaus-heuboedeli.ch"
' Blind empfänger der Email z.B. Rechnungsstelle
.Subject = "Ihre Vertragsunterlagen für Ihre Miete Clubhaus Heubödeli vom " & Range("d27") & "  _
bis " & Range("n27")
'Datum der Ausführung
.Attachments.Add AWS
.Attachments.Add strFileName
.Attachments.Add "C:\Dropbox\New Version\PDF Vertrag\" & strDateiname1 & "." & strDateiname2 & " _
mit " & strDateiname3 & ".pdf"
'Hier wird eine normale Text Mail erstellt
'Hier wird die HTML Mail erstellt
.HTMLBody = "" & Range("a19") & " " & "" & "Wir freuen uns das Sie sich für unser Haus  _
entschieden haben. Als Anhang senden wir Ihnen unsere Unterlagen für Ihre Miete zu. " & ""
" & "Dürfen wir Sie bitten den Vertrag auszudrucken zu unterschreiben und an uns zurückzusenden. _
" & "Für die Hausübernahme Zeiten und allfällige Fragen steht Ihnen unser Hausverwalter Herr  _
Jehli gerne zur Verfügung (076 411 46 25) ." & "
" & "Mit freundlichen Grüssen." & "
' B)= Kontakt des Kunden
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'.Send
'Hier könnte die Datei wieder gelöscht werden
'Kill AWS
End With
'OutApp.Quit (Damit das Outlook nicht geschlossen wird)
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Anzeige
AW: mehrere PDF anhängen
08.07.2013 21:03:21
Rolf
Hallo Raphael
recht herzlichen Dank für deine Bemühungen nun klappt alles bestens. Jetzt konnte ich auch meine Fehler sehen.
Gruss
Rolf

gerne oT:=)
09.07.2013 11:26:28
Raphael
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere PDF anhängen in Excel VBA


Schritt-für-Schritt-Anleitung

Um mehrere PDFs an eine E-Mail in Excel anzuhängen, kannst du den folgenden VBA-Code verwenden. Dieser Code erweitert den bereits existierenden Code, um mehrere PDF-Dateien hinzuzufügen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe zu "Einfügen" > "Modul", um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub PDFVertrag_Click()
    Range("a1:ah62").Select
    Dim strFileName As String
    Dim strDateiname1 As String
    Dim strDateiname2 As String
    Dim strDateiname3 As String
    strDateiname1 = Range("m12").Value ' Kundennamen
    strDateiname2 = Range("o17").Value ' Vertragsnummer
    strDateiname3 = Range("y2").Value ' Parkplatz
    strFileName = "C:\PDF Vertrag\" & strDateiname1 & "." & strDateiname2 & " mit " & strDateiname3 & ".pdf"

    ActiveSheet.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=strFileName, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False

    Dim Nachricht As Object, OutApp As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set Nachricht = OutApp.CreateItem(0)

    With Nachricht
        .To = Range("g4")
        .Bcc = "buchung@clubhaus-heuboedeli.ch"
        .Subject = "Ihre Vertragsunterlagen für Ihre Miete Clubhaus Heubödeli"

        ' Anhänge hinzufügen
        .Attachments.Add strFileName
        .Attachments.Add "C:\Path\To\DeinZweitesPDF.pdf" ' Ersetze dies mit dem Pfad deiner zweiten PDF
        .Attachments.Add "C:\Path\To\DeinDrittesPDF.pdf" ' Ersetze dies mit dem Pfad deiner dritten PDF

        .HTMLBody = "Wir freuen uns, dass Sie sich für unser Haus entschieden haben. Anbei finden Sie unsere Unterlagen für Ihre Miete."
        .Display ' oder .Send, um die Mail direkt zu senden
    End With

    Set OutApp = Nothing
    Set Nachricht = Nothing
End Sub
  1. Passe die Pfade der Anhänge nach deinem Bedarf an.
  2. Schließe den VBA-Editor und führe das Makro aus.

Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Lösung: Überprüfe den angegebenen Pfad der PDF-Dateien. Stelle sicher, dass sie existieren und der Pfad korrekt ist.
  • Fehler: E-Mail wird nicht gesendet

    • Lösung: Stelle sicher, dass Outlook korrekt eingerichtet ist und du die Berechtigung zum Senden von E-Mails hast.

Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch manuell PDFs anhängen, indem du die PDFs in den gewünschten Ordner speicherst und von dort aus in Outlook auf "Anfügen" klickst. Diese Methode ist weniger automatisiert, bietet aber mehr Kontrolle.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Code anpassen kannst:

  • PDF an Excel anhängen: Du kannst die PDFs auch direkt aus Excel generieren und dann anhängen.

  • PDF an PDF anhängen: Wenn du eine PDF an eine andere PDF anhängen möchtest, benötigst du dafür spezielle Software, da Outlook dies nicht unterstützt.


Tipps für Profis

  • Verwende Schleifen, um mehrere Dateien dynamisch hinzuzufügen, anstatt jede Datei manuell aufzulisten.
  • Prüfe, ob die PDF-Dateien existieren, bevor du versuchst, sie anzuhängen, um Laufzeitfehler zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehr als drei PDFs anzuhängen? Du kannst einfach weitere .Attachments.Add "Pfad\Zur\PDF"-Zeilen hinzufügen, um mehr PDFs anzuhängen.

2. Was mache ich, wenn ich eine Fehlermeldung beim Senden der E-Mail erhalte? Überprüfe, ob alle erforderlichen Felder wie .To, .Subject und .HTMLBody ausgefüllt sind und dass dein Outlook richtig konfiguriert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige