Besteht allenfalls die Möglichkeit, den Drucker innerhalb eines Makros (d.h. ohne jeweils vorgängiges Aufrufen des "Drucken"-Dialogs) zu definieren.
Für Ratschläge bin ich sehr dankbar.
Gruss,
Hein Eken
Öffne die Excel-Datei, in der Du den VBA-Drucken-Dialog aufrufen möchtest.
Drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Einfügen" > "Modul" wählst.
Kopiere den folgenden Code in das Modul:
Sub DruckDialogOeffnen()
Application.Dialogs(xlDialogPrint).Show
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Führe das Makro aus, indem Du unter Entwicklertools > Makros das Makro DruckDialogOeffnen auswählst und auf Ausführen klickst.
Damit öffnest Du den "Drucken"-Dialog in Excel über VBA.
Fehler: "Anwendungsfehler" beim Ausführen des Makros
Lösung: Stelle sicher, dass Du die richtigen Berechtigungen hast und dass der Makroschutz in Excel deaktiviert ist. Gehe dazu zu Datei > Optionen > Trust Center und passe die Einstellungen an.
Fehler: Der Dialog öffnet sich nicht
Lösung: Überprüfe, ob der Code korrekt eingegeben wurde und keine Syntaxfehler enthält. Achte auch darauf, dass Du in der richtigen Excel-Version arbeitest, die VBA unterstützt.
Neben dem VBA-Code kannst Du auch den "Drucken"-Dialog manuell öffnen, indem Du einfach STRG + P drückst. Eine weitere Möglichkeit ist, den Drucker direkt in den Excel-Einstellungen auszuwählen, ohne den Dialog aufzurufen.
Wenn Du den Drucker innerhalb eines Makros definieren möchtest, ohne den Dialog zu öffnen, kannst Du folgenden Code verwenden:
Sub DirektDrucken()
Dim DruckerName As String
DruckerName = "DeinDruckerName" ' Ersetze mit dem Namen Deines Druckers
Application.ActivePrinter = DruckerName
ActiveSheet.PrintOut
End Sub
Dieser Code ermöglicht es Dir, ein Arbeitsblatt direkt zu drucken, ohne den "Drucken"-Dialog aufzurufen.
PrintOut-Methode, um verschiedene Druckoptionen zu konfigurieren, wie z.B. die Anzahl der Kopien oder die Seitenzahlen.1. Kann ich den Druckdialog für bestimmte Bereiche öffnen?
Ja, Du kannst den Bereich auswählen, den Du drucken möchtest, bevor Du den Dialog öffnest, indem Du ActiveSheet.Range("A1:B10").PrintOut verwendest.
2. Wie kann ich den Standarddrucker in VBA ändern?
Du kannst den Standarddrucker ändern, indem Du den Namen des Druckers in Application.ActivePrinter = "Druckername" setzt, bevor Du den Druckbefehl ausführst.