Papierformat automatisch durch VBA auswählen
Schritt-für-Schritt-Anleitung
Um das richtige Papierformat wie die 114x162 Briefumschläge automatisch auszuwählen, kannst Du den folgenden VBA-Code verwenden. Dieser Code setzt das Papierformat auf C6 und funktioniert in den meisten Excel-Versionen:
Sub SetPaperFormat()
With Workbooks("Rechnung.xls").Sheets("Briefumschlag")
.PageSetup.PaperSize = xlPaperEnvelopeC6 ' Setzt das Papierformat auf C6
.PrintPreview False
End With
End Sub
Wenn Du ein benutzerdefiniertes Papierformat wie "Brief A5 Excel (114x161mm)" verwenden möchtest, kannst Du den folgenden Code anpassen:
Sub SetCustomPaperFormat()
Dim paperCode As Integer
paperCode = PaperCode("DeinDruckerName", "DruckerPort", "Brief A5 Excel") ' Ersetze mit deinem Druckernamen und Port
If paperCode <> 0 Then
With Workbooks("Rechnung.xls").Sheets("Briefumschlag")
.PageSetup.PaperSize = paperCode
.PrintPreview False
End With
Else
MsgBox "Das benutzerdefinierte Papierformat ist nicht verfügbar."
End If
End Sub
Häufige Fehler und Lösungen
-
Laufzeitfehler beim Setzen des Papierformats
- Überprüfe, ob das Papierformat auf dem Drucker vorhanden ist. Du kannst die Funktion
GetPrinterPapers
verwenden, um alle verfügbaren Formate aufzulisten.
-
Unterschiedliche Papierformatnummern auf verschiedenen PCs
- Verwende die Funktion
PaperCode
, um die tatsächliche Nummer des benutzerdefinierten Formats zu ermitteln, anstatt hartkodierte Zahlen zu verwenden.
-
Druckername und Port nicht bekannt
- Stelle sicher, dass der Druckername und der Port korrekt angegeben sind. Du kannst die Namen der Drucker in Excel unter
Datei > Drucken
überprüfen.
Alternative Methoden
Wenn VBA nicht funktioniert oder Du eine einfachere Lösung suchst, kannst Du das Papierformat manuell in den Druckeinstellungen von Excel ändern:
- Gehe zu
Datei > Drucken
.
- Wähle den gewünschten Drucker aus.
- Klicke auf
Druckereigenschaften
.
- Wähle das gewünschte Papierformat aus der Dropdown-Liste aus.
Praktische Beispiele
-
Briefumschläge 114x162
-
Brief beschriften A5
Tipps für Profis
-
Nutze die VBA-Fehlerbehandlung, um Fehler im Code zu vermeiden:
On Error Resume Next
' Dein VBA Code hier
On Error GoTo 0
-
Halte Deinen VBA-Code modular, indem Du Funktionen schreibst, die spezifische Aufgaben erledigen, wie zum Beispiel das Abrufen von Druckereinstellungen.
-
Experimentiere mit den DeviceCapabilities API-Funktionen, um detaillierte Informationen über Drucker und Papierformate zu erhalten.
FAQ: Häufige Fragen
1. Wie finde ich das richtige Papierformat für verschiedene Drucker?
Du kannst die GetPrinterPapers
-Funktion verwenden, um alle verfügbaren Papierformate für einen bestimmten Drucker abzurufen.
2. Was kann ich tun, wenn mein benutzerdefiniertes Papierformat nicht erkannt wird?
Stelle sicher, dass der Drucker korrekt konfiguriert ist und dass das Papierformat auf dem Drucker eingestellt ist. Überprüfe auch die Schreibweise des Papierformats im Code.
3. Wo finde ich die Nummern für die Papierformate in Excel?
Die Nummern für die Papierformate sind in der Excel-Dokumentation oder im VBA-Editor unter den Konstanten für .PageSetup.PaperSize
zu finden.