Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1444to1448
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

Serienbrief als PDF speichern

Serienbrief als PDF speichern
31.08.2015 10:10:45
Meike
Hallo Zusammen,
ich bin gerade dabei einen Serienbrief für ausgewählte Personen (mit "x" gekennzeichnet) als PDF zu speichern.
Nun habe ich einen Code "Serienbrief erstellen" mit dem Code "PDF erzeugen" verbunden und es funktioniert - aber leider noch nicht ganz so, wie ich es mir wünsche.
1. Problem: Ich möchte nur einmal die Aufforderung haben, den Speicherort auszuwählen und dort alle Urkunden als PDF speichern. Momentan wird für jede Urkunde der Speicherplatz abgefragt.
2. Problem: Aus mir unerklärlichen Gründen, werden manche Namen doppelt oder dreifach abgespeichert und der letzte Name der ausgewählt wurde wird, auch wenn er abgewählt wurde, beim zweiten Druck mitberücksichtigt. Ich möchte nur die ausgewählten Namen nur einmal abspeichern.
Damit ihr euch ein besseres Bild machen könnt, habe ich meine Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/99910.xlsm
Kann mir jemand von euch weiterhelfen?
Vorneweg vielen lieben Dank für eure Unterstützung.
Liebe Grüße
Meike

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Serienbrief als PDF speichern
01.09.2015 19:58:56
Michael
Hallo Meike,
versuch's mal damit:
Option Explicit
Public Sub Seriendruck()
Dim Name$, Vorname$, Geschlecht$
Dim a&
Dim Anzeigen As Boolean, erstes As Boolean
Dim Pfad As String, Datei As String, varDatei
Anzeigen = False
Pfad = ThisWorkbook.Path & "\"
erstes = True
For a = 1 To Sheets("Eingabe").Cells(4, 5).End(xlDown).Row
If CStr(Sheets("Eingabe").Cells(a, 2)) = "x" Then
Geschlecht = Sheets("Eingabe").Cells(a, 6)
Name = Sheets("Eingabe").Cells(a, 5)
Vorname = Sheets("Eingabe").Cells(a, 4)
If erstes Then
Datei = Name & "_" & Vorname
varDatei = Application.GetSaveAsFilename(InitialFileName:=Pfad & Datei, _
FileFilter:="PDF (*.pdf),*.pdf", _
Title:="Bitte Ordner\Dateiname der PDF-Datei auswählen/eingeben")
If varDatei = False Then Exit Sub
erstes = False
Else
varDatei = Left(varDatei, InStrRev(varDatei, "\")) _
& Name & "_" & Vorname
'   Stop
End If
If Geschlecht = "m" Then
Sheets("form").Cells(9, 3).Value = "Sehr geehrter Herr " & Name
Else
Sheets("form").Cells(9, 3).Value = "Sehr geehrte Frau " & Name
End If
Sheets("form").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=varDatei, _
OpenAfterPublish:=Anzeigen, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False
End If
Next a
End Sub
Die verbundenen Zellen in forms: C9:D9 habe ich "entbunden".
Schöne Grüße,
Michael

Anzeige
AW: Serienbrief als PDF speichern
02.09.2015 09:59:46
Meike
Danke Michael !
Es funktioniert einwandfrei!

freut mich, danke für die Rückmeldung owT
02.09.2015 13:54:19
Michael

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige