Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA > PDF erzeugen > mit div. Seiten

Forumthread: VBA > PDF erzeugen > mit div. Seiten

VBA > PDF erzeugen > mit div. Seiten
30.09.2025 13:13:39
BugSimpson
Hallo Forum,
ich nutze aktuell eine Funktion (s. weiter unten) um aus einem Excelblatt eine PDF zu erzeugen. Das ganze funktioniert soweit so gut.
Nun habe ich auf einem Blatt mehrere "virtuelle Seiten", die ich aber nicht alle "drucken" möchte. Die Funktion die mir die PDF erzeugt beherrscht allerdings nur das erzeugen von einer gewissen "Range" bsp. Seite 1 - Seite 5.
Möchte ich jedoch Seite 2 oder Seite 3 nicht mit drucken, funktioniert das so nicht. Alles soll jedoch in einer PDF zu sehen sein.
Ist das möglich?



' Erstellt von dem aktuellen Blatt eine PDF
Public Function CreatePDF(Name As String, Path As String, ws As Worksheet, Dialog As Boolean, Open_ As Boolean, PgeFrm As Integer, PgeTo As Integer) As Boolean

On Error GoTo ErrorHandler:

Dim strfile As String
Dim myFile As Variant
Dim sTimestamp As String
Dim OldPath As String

sTimestamp = Str(DateTime.Now)


ws.PageSetup.Zoom = False
ws.PageSetup.FitToPagesTall = 1
ws.PageSetup.FitToPagesWide = 1

SetCurrentDirectoryA Path

strfile = Name & ".pdf"

'Ist die Datei eventuell schon vorhanden?
Dim RetPath As String
If (modFile.IsFileExists(strfile, Path, RetPath) = True) Then

If (MsgBox(strfile & " " & "ist schon vorhanden!." & vbLf & "Soll diese überschrieben werden?.", vbInformation Or vbYesNo) = vbNo) Then
MsgBox "Drucken abgebrochen!.", vbInformation Or vbOKOnly, "PDF Modul"
Exit Function
End If

End If


If (Dialog) Then
myFile = Application.GetSaveAsFilename _
(InitialFileName:=strfile, _
FileFilter:="PDF Dateien (*.pdf), *.pdf", _
title:="Bitte unter Wartungsprotokolle ablegen!")
Else
myFile = strfile
End If


If myFile = False Then
MsgBox "Druckvorgang abgebrochen.", vbInformation, "PDF - Modul"
CreatePDF = False
Exit Function
End If


ws.Visible = xlSheetVisible

ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
myFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=Open_, From:=PgeFrm, To:=PgeTo

CreatePDF = True

ws.Visible = xlSheetHidden

Exit Function

ErrorHandler:
modLog.Fill "CreatePDF()", Err.Description, frmWartungsmanager.ListBox3
End Function

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA > PDF erzeugen > mit div. Seiten
30.09.2025 14:43:40
Yal
Hallo Simpson (man spricht sich im Forum per Vorname an ;-)

starte den Makrorekorder und exportiere als PDF in dem Du nicht den Range Seite 1 bis 5, sondern aufgelistet 1, 4, 5 zum Drucken ausgibt.
Die Antwort sollte im aufgezeichneten Code sein.

VG
Yal
AW: VBA > PDF erzeugen > mit div. Seiten
01.10.2025 14:11:09
BugSimpson
Ich habe gerade versucht mit deiner Idee eine Lösung zu finden, jedoch kann man dort auch nur Seiten nacheinander drucken..
Anzeige
AW: VBA > PDF erzeugen > mit div. Seiten
01.10.2025 14:46:51
RPP63
Moin!
Wie Du ja richtig bemerkt hast, funktioniert das so nicht.
Es gibt genügend PDF-Tools, mit denen man unerwünschte Seiten bequem löschen kann.
Ich mache so etwas immer mit PDF24 (manuell, weil sich der Aufwand in Grenzen hält).
Kann man auch mittels Shell(), dazu müsstest Du mal suchen.
(ich lasse daher offen)

Gruß Ralf
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige