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

Forumthread: randlose PDF erzeugen

randlose PDF erzeugen
29.10.2019 08:00:19
Joseph
Hallo zusammen
Ich habe ein Problem mit dem Erzeugen von PDFs mittels VBA aus dem Excel.
Code:
pdfName = ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
MsgBox ("PDF-Datei wurde exportiert!" & Chr(10) & Chr(10) & "Dateiname: " & ActiveSheet.Name & ".pdf" & Chr(10) & "Ordner: " & ThisWorkbook.Path)
Das funktioniert alles wunderbar......aber....
Ich möchte dieses PDF-File randlos abspeichern, damit es genau ein A4-Blatt füllt.
Im Excel sind alle Seitenränder auf 0 eingestellt.
Wenn ich nun einen PDF-Drucker (der kein Standarddrucker ist) einstelle und dann den Code ausführen lasse, funktioniert es bestens.
Wenn ich aber das File schliesse und wieder öffne und so der Standarddrucker automatisch eingestellt ist, wird der Rand des entsprechenden Druckers mitgedruckt und es entstehen dadurch mehrere Seiten.
Die Tabelle muss auf verschiedenen Computern laufen und ich kann beim besten Willen nicht wissen, welche PDF-Drucker dort installiert sind.
Gibt es da eine Lösung, wie ich die PDF-Files abspeichern lassen kann, ohne den Drucker umstellen zu müssen?
oder
Kann man auf Windows einen PDF-Drucker wählen - einer der auf jedem Windows-System immer installiert ist?
Ich danke euch schon jetzt für eure Hilfestellung.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: randlose PDF erzeugen
29.10.2019 10:24:48
fcs
Hallo Joseph,
nur wenige Drucker können tatsächlich Papier ohne Rand bedrucken.
Excel richtet sich bei dem Seitenlayout meistens nach den Möglichkeiten des aktiven Druckers. Stellt man kleinere Ränder ein, dann erfolgt meines Wissens beim Drucken eine Warnung - ignoriert man diese, dann fehlt im Ausdruck Information.
Wenn du auf vielen/allen Druckern (inkl. PDF) auf Nummer sicher gehen willst, dann solltest du Ränder von 0,5 bis 0,9 cm wählen.
Wenn du nur eine Seite bedrucken willst, dann hilft ggf. die Einstellung 1 Seite Hoch/1 Seite breit im Seitenlayout. Dann sollte Excel ggf. die Ausgabe anpassen, aber das Ergebnis ist manchmal auch nicht prickelnd.
LG
Franz
Anzeige
AW: randlose PDF erzeugen
29.10.2019 12:22:23
Joseph
Hallo Franz
Besten Dank für deine Antwort.
Das hilft mir aber leider nicht weiter...
Gibt es einen VBA-Befehl, mit dem man den Namen des durch Windows installieren PDF-Druckers abfragen kann?
Es spielt ja keine Rolle, welchen PDF-Drucker man einstellt. Es darf nur nicht einer physischer Drucker sein, der einen Rand benötigt.
Wenn ich den Namen eines installierten PDF-Druckers ermitteln kann, könnte ich diesen PDF-Drucker einstellen, das PDF-File exportieren lassen und dann den Standarddrucker wieder einstellen.
Wichtig ist nur, dass das Skript dann auf allen Compis läuft und er immer einen PDF-Drucker findet.
Gibts da was?
LG Joseph
Anzeige
AW: randlose PDF erzeugen
29.10.2019 16:37:02
fcs
Hallo Joseph,
ich kenne mich da leider nicht so genau aus, um weiter helfen zu können.
Es gibt meines Wissens Methoden, um an die Namen der Drucker zu kommen. Ob aber sicher ein PDF-Drucker erkannt werden kann?
LG
Franz
;

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

Randlose PDFs aus Excel erstellen


Schritt-für-Schritt-Anleitung

Um aus Excel ein PDF ohne Rand zu erstellen, kannst Du die folgenden Schritte befolgen:

  1. Seitenränder entfernen:

    • Gehe zu Seitenlayout > Seitenränder > Benutzerdefinierte Seitenränder.
    • Setze alle Ränder auf 0.
  2. Druckereinstellungen:

    • Wähle einen PDF-Drucker, der randlos drucken kann. Zum Beispiel "Microsoft Print to PDF".
    • Achte darauf, dass der Drucker standardmäßig nicht auf physische Drucker eingestellt ist, die Ränder benötigen.
  3. VBA-Skript verwenden:

    • Füge den folgenden VBA-Code in ein neues Modul ein:
      Sub ExportToPDF()
       Dim pdfName As String
       pdfName = ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
       Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
       OpenAfterPublish:=False
       MsgBox ("PDF-Datei wurde exportiert!" & vbCrLf & "Dateiname: " & ActiveSheet.Name & ".pdf" & vbCrLf & "Ordner: " & ThisWorkbook.Path)
      End Sub
    • Dieser Code exportiert das aktive Blatt als PDF-Datei.
  4. Exportieren:

    • Führe das Skript aus, um die PDF-Datei ohne Seitenränder zu erstellen.

Häufige Fehler und Lösungen

  • Problem: PDF wird mit Rändern erstellt.

    • Lösung: Überprüfe die Druckereinstellungen und stelle sicher, dass der verwendete PDF-Drucker auch tatsächlich randlos drucken kann.
  • Problem: PDF-Drucker wird nicht erkannt.

    • Lösung: Stelle sicher, dass ein kompatibler PDF-Drucker installiert ist, der von Windows erkannt wird.
  • Problem: "Randlos drucken funktioniert nicht."

    • Lösung: Manchmal ist es notwendig, die Seitenränder in Excel auf minimal 0,5 cm zu setzen, um Warnungen beim Drucken zu vermeiden.

Alternative Methoden

Wenn das direkte Drucken aus Excel nicht funktioniert, kannst Du folgende Alternativen ausprobieren:

  • PDF mit externen Tools erstellen: Verwende Programme wie Adobe Acrobat oder Online-Dienste, um das Excel-Dokument in eine PDF-Datei ohne Ränder zu konvertieren.
  • Drucken ohne Rand über Excel-Einstellungen: Gehe zu Datei > Drucken und wähle die Option, die eine randlose Ausgabe ermöglicht.

Praktische Beispiele

  1. Beispiel für eine Tabelle ohne Ränder:

    • Erstelle eine einfache Tabelle in Excel, entferne die Seitenränder und exportiere die Datei gemäß der Schritt-für-Schritt-Anleitung.
  2. VBA zur Druckerwahl:

    • Du kannst das folgende VBA-Skript verwenden, um den Namen eines installierten PDF-Druckers abzufragen:
      Sub ListPrinters()
       Dim prn As Variant
       For Each prn In Application.PrinterNames
           Debug.Print prn
       Next prn
      End Sub

Tipps für Profis

  • Druckereinstellungen anpassen: Überprüfe die Druckereinstellungen regelmäßig, um sicherzustellen, dass die richtigen Optionen für das randlose Drucken ausgewählt sind.
  • VBA optimieren: Du kannst das VBA-Skript erweitern, um automatisch den besten PDF-Drucker auszuwählen.
  • Testdruck durchführen: Mache immer einen Testdruck, um sicherzustellen, dass die PDF-Datei wie gewünscht aussieht.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass Excel ohne Seitenränder druckt? Um sicherzustellen, dass Excel ohne Seitenränder druckt, stelle alle Seitenränder in den Druckeinstellungen auf 0 und wähle einen PDF-Drucker, der randlos drucken kann.

2. Gibt es einen PDF-Drucker, der standardmäßig auf allen Windows-Systemen vorhanden ist? Der "Microsoft Print to PDF" Drucker ist in den meisten modernen Windows-Versionen vorinstalliert und kann verwendet werden, um PDFs ohne Rand zu erstellen.

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