Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Serian PDF erstellen & Serienmail mit PDF senden

Serian PDF erstellen & Serienmail mit PDF senden
05.01.2013 12:25:49
nontacky
Hallo Leute,
ich hoffe ich überstrapaziere euch nicht .. diesmal suche ich eine Lösung die wahrscheinlich etwas aufwändiger ist.
Ich habe eine Beispieldatei hochgeladen, zu viele Komponenten um das ohne Datei zu erläutern.
https://www.herber.de/bbs/user/83259.xlsm
Kurzum: ich muss aus einer dynamischen Domainliste mit div Einträgen (jede Domain kann mehrere Einträge haben) pro Domain (also pro Kunde) ein PDF erstellen das die zu der Domain gehörigen Informationen enthält. Dieses PDF muss ich dann an eine Email hängen, aus der Liste eine Emailadresse auswählen + einen dynamischen Betreff und einen dynamisches Emailtext in die Email einfügen und dann per Outlook verschicken.
Das PDF kriege ich schon hin - es geht mir jetzt darum, das als Email verschicken zu können und zwar seriell = für jede "angekreuzte" Domain soll eine Email mit einem entsprechenden PDF Anhang verschickt werden.
Im Detail - bezogen auf die Beispieldatei:
In Tabellenblatt "Overview" werden in Spalte D per "x" die Domains "angekreuzt" für die ein PDF erstellt werden soll. Es wird immer das oberste "x" als PDF im Tabellenblatt "BA-ENG-Fax" angezeigt.
Das PDF an sich kann immer unterschiedlich lang werden nach unten, dafür habe ich schon ein Makro mit dynamischem Druckbereich, das müsste dann auch angesteuert werden(Makro: Drucken01()).
Die Routine müsste also so funktionieren:
Das PDF wird mit dem "Drucken01()" Makro erstellt mit dem Dateinamen der im Tabellenblatt "BA-ENG-Fax" in D18 steht. Das PDF soll einfach auf C:\ gespeichert werden.
Dann soll eine Email geschickt werden, mit dem eben erstellen PDF als Anhang an den Empfänger der im Tabellenblatt "Email Text" in Zelle C2 steht, dem Betreff der in "Email Text" in Zelle C3 steht und dem Email Text der dort im Bereich B6:B22 steht.
Dann soll das Marko zurückspringen auf "Overview" das oberste "x" (das irgendwo in D9:D5000 stehen kann) löschen und solange noch ein weiteres "x" (also weiter unten in D) eingetragen ist, wieder von vorn anfangen.
Ich hoffe, dass klar ist was ich meine. Wenn das zu krass ist als Hilfegesuch, dann sagt mir bitte Bescheid.
Viele Grüße,
Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Serian PDF erstellen & Serienmail mit PDF senden
07.01.2013 23:38:07
fcs
Hallo Martin,
in der hochgeladenen Textdatei findest du die Makros zum Erstellen der PDF-Datei, Aufbereiten der E-Mail-Texte und Versand der E-Mails via Outlook.
https://www.herber.de/bbs/user/83282.txt
Das PDF wird mit der in Office 2007 integrierten Exportfunktion erzeugt und nicht via PDF-Drucker.
Ich hab das Makro jetzt nur mit einem x in der Spalte D von "Overview" getestet. Wie es bei mehreren/vielen x-funktioniert kann ich nicht einschätzen.
Für den Versand via Out-Look sind 2 Makro-Varianten enthalten.
1. Mit setzen des Verweises auf die Microsoft Outlook Object Library im VBA-Editor
2. Ohne setzen des Verweises.
Mir scheint, dass die Variante mit setzen der Verweise in der Summe etwas stabiler funktioniert.
Zum Testen soltest du den Parameter bolDisplay auf True setzen. Dann wird die Mail in Outlook nur angezeigt, aber nicht verschickt.
Gruß
Franz

Anzeige
AW: Serin PDF erstellen & Serienmail mit PDF senden
08.01.2013 18:20:40
nontacky
Hallo Franz,
vielen Dank, ich habe alles eingebaut und wenn ich das richtig sehen funktioniert alles wunderbar (echt krass :)).
Eine Frage habe ich: wenn ich bei "Datei Speichern" auf "nein" gehe, dann wird einfach die Datei geschlossen, aber sonst passiert nichts. Der Sinn dahinter ist mir nicht so ganz klar - bevor ich da jetzt aber was ändere (also, dass eben die Datei nicht geschlossen wird, sondern einfach das Makro weiterläuft) wollte ich noch mal fragen ob da evtl. ein tieferer Sinn dahinter steckt der sich mir entzieht.
Tausend Dank - das ist echt ein Hammerteil!
Viele Grüße,
Martin

Anzeige
AW: Serin PDF erstellen & Serienmail mit PDF senden
09.01.2013 09:51:40
fcs
Hallo Martin,
die Messagebox, die nach dem Start des Makros angezeigt wird, hab ich aus dem anderen Makro in der Datei übernommen.
Das könnte man natürlich nach deinen Wünschen einrichten.
Im einfachsten Fall würde man hier nur Fragen ob die Mails jetzt verschickt werden sollen, und bei Abbrechen das Makro direkt wieder verlassen.
Gruß
Franz

AW: Serin PDF erstellen & Serienmail mit PDF senden
09.01.2013 11:36:40
nontacky
Hallo Franz,
ok, alles klar - dann passe ich das an. Jetzt habe ich noch eine letzte Sache die verbessert werden könnte. Die Ablage der PDFs ist "variabel" = ich gebe in Tabellenblatt "Overview" in Zelle K4 den Pfad an in den das PDF abgelegt werden soll.
Ich habe versucht da was anzupassen, aber es funktioniert nicht
Option Explicit
Private Const Path_PDF As String = "C:\Test"
habe ich geändert in:
Option Explicit
Private Const Path_PDF As String = Worksheets("Overview").Range("k4")
aber das gibt einen Fehler und besser weiß ich es nicht.
Ich nehm an, dass ich den Befehl .Range da falsch interpretiere..
Viele Grüße,
Martin

Anzeige
AW: Serin PDF erstellen & Serienmail mit PDF senden
09.01.2013 21:25:31
fcs
Hallo Martin,
wenn der Pfad variabel sein soll, dann darf die Variable nicht als Konstante deklariert werden, sondern muss als "normale" Variable deklariert werden.
Die Wert-Zuweisung erfolgt dann in der Prozedur.
Gruß
Franz
Hier der anzupassende Teil des Codes. Die MsgBox hab ich auch mal angepasst, so dass nur die Erstellung der E-Mails abgefragt wird.
Option Explicit
Sub Send_E_Mails()
Dim wksOverView As Worksheet, wksFax As Worksheet, wksE_Mail As Worksheet
Dim Path_PDF As String
Dim lngZeileOV As Long, ZeileMail As Long
Dim LoI As Long                                 ' Schleifenvariable
Dim LoLetzte As Long                            ' Variable für letzte Zeile
Dim strRecipient As String
Dim strSubject As String
Dim strBody As String
Dim strAttachment As String
Dim Nachricht
'Zunächst Sicherheitsanfrage, ob E-Mai versendet werden sollen
Nachricht = MsgBox("Jetzt die E-Mails erstellen und versenden?", _
vbQuestion + vbOKCancel + vbDefaultButton2, _
"Sicherheitsabfrage-Versand E-Mail mit FAX-Attachment")
If Nachricht = vbCancel Then Exit Sub
Set wksOverView = Worksheets("Overview")
Set wksFax = Worksheets("BA-Eng-Fax")
Set wksE_Mail = Worksheets("Email Text")
With wksOverView
Path_PDF = .Range("k4") 'Zellwert z.B.: C:\Users\Public\Test\PDF\ - Zelle ggf. anpassen !! _

Anzeige
AW: Serin PDF erstellen & Serienmail mit PDF senden
10.01.2013 11:57:59
nontacky
Hallo Franz,
vielen Dank - jetzt funktioniert alles wunderbar und ich bin wunschlos glücklich :).
VG,
M.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige