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

Netzwerkdrucker über VBA ansteuern

Forumthread: Netzwerkdrucker über VBA ansteuern

Netzwerkdrucker über VBA ansteuern
emem2404
Hallo Leute,
ich möchte mit einem Makro den Druck entweder auf den Standard-Drucker oder auf einen bestimmten Drucker im Netzwerk schicken, wobei dieser Netzwerkdrucker nicht unbedingt bei jedem User in der Auswahlliste erscheint.
Geht das überhaupt und hat jemand einen Tipp für mich?
Danke!
Gruß
MARTIN
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Netzwerkdrucker über VBA ansteuern
13.07.2010 09:26:17
Rudi
Hallo,
in DieseArbeitsmappe:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim p, p1
p1 = ActivePrinter
p = Application.Dialogs(xlDialogPrinterSetup).Show
If p = False Then
Cancel = True
Exit Sub
End If
ActivePrinter = p1
End Sub

Gruß
Rudi
Anzeige
AW: Netzwerkdrucker über VBA ansteuern
13.07.2010 09:43:41
emem2404
Hallo Rudi,
erst mal Dake für die Antwort.
ich erhalte jetzt das Auswahlfenster mit allen Druckern, die von meinem PC angesprochen werden. Den Netzwerkdrucker, den ich aber noch nicht in meiner Liste habe, kann ich auch nicht auswählen. Nach der Auswahl muss ich den Druck auch noch manuell anstossen.
Schön wäre die Auswahlmöglichkeit: "Druck auf derzeitigem Standarddrucker" oder "Druck direkt vor Ort" (hier die Weiterleitung an die Adresse des Netzwerkdruckers) und danach müsste der Druck auch automatisch ablaufen, ohne dass ich dass nochmals anstoßen muss, wobei der Ausdruck immer 2mal ausgedruckt werden soll.
Eine Idee?
Danke
Gruß
MARTIN
Anzeige
AW: Netzwerkdrucker über VBA ansteuern
13.07.2010 09:50:49
Rudi
Hallo,
Den Netzwerkdrucker, den ich aber noch nicht in meiner Liste habe, kann ich auch nicht auswählen. 

Auf einen Drucker, den du nicht installiert hast, kannst du auch nicht drucken.
Gruß
Rudi
AW: Netzwerkdrucker über VBA ansteuern
13.07.2010 10:09:04
emem2404
Hallo Rudi,
da hast Du mich falsch verstanden. Es handelt sich um einen freigegebenen Netzwerkdrucker, auf den jeder zugreifen kann, sofern er die Netzwerkadresse kennt. Eine Installation ist nicht erforderlich, allerdings erscheint er auch nicht in meinem Auswahlfenster.
Gruß
MARTIN
Anzeige
AW: Netzwerkdrucker über VBA ansteuern
13.07.2010 11:10:01
Ramses
Hallo
"...Eine Installation ist nicht erforderlich,..."
Das stimmt nicht. JEDER Drucker muss über das Druckermenü installiert werden, damit ihn Windows verwalten kann, und es MUSS auf jeden Fall ein Druckertreiber installiert werden, auch wenn dies Windows in 99% der Fälle automatisch übernimmt.
Ist der Drucker an einen anderen PC angeschlossen und dort freigegeben, wird beim verbinden mit dem Drucker über das Druckermenü der Druckertreiber des dortigen PCs kopiert, Ist es ein StandAlone Drucker am Netzwerk angeschlossen muss entweder der korrekte, oder ein alternativer, Druckertreiber installiert werden.
Gruss Rainer
Start- Drucker - Hinzufügen
Gruss Rainer
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Netzwerkdrucker über VBA ansteuern


Schritt-für-Schritt-Anleitung

Um einen Netzwerkdrucker über VBA anzusteuern, kannst Du folgende Schritte befolgen:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du das Makro erstellen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf „VBAProject (DeineDatei.xlsx)“ > Einfügen > Modul.
  4. Füge den folgenden VBA-Code ein:

    Private Sub Workbook_BeforePrint(Cancel As Boolean)
       Dim p, p1
       p1 = ActivePrinter
       p = Application.Dialogs(xlDialogPrinterSetup).Show
       If p = False Then
           Cancel = True
           Exit Sub
       End If
       ActivePrinter = p1
    End Sub
  5. Speichere die Arbeitsmappe als Makro-fähige Datei (*.xlsm).

  6. Teste das Makro, indem Du den Druckbefehl ausführst.

Wenn der gewünschte Netzwerkdrucker nicht angezeigt wird, stelle sicher, dass der Drucker installiert ist.


Häufige Fehler und Lösungen

  • Fehler: Netzwerkdrucker erscheint nicht in der Liste

    • Lösung: Stelle sicher, dass der Drucker im Netzwerk freigegeben ist und der richtige Druckertreiber installiert ist. Gehe zu „Start“ > „Drucker und Scanner“ > „Drucker hinzufügen“, um den Drucker zu installieren.
  • Fehler: Druckauftrag wird nicht automatisch ausgeführt

    • Lösung: Überprüfe, ob im Code die notwendigen Einstellungen für den automatischen Druck korrekt gesetzt sind. Du kannst die Option für einen Standarddrucker im Code hinzufügen.

Alternative Methoden

Falls Du Schwierigkeiten mit VBA hast, kannst Du alternativ die folgenden Methoden ausprobieren:

  1. Drucker über Windows-Einstellungen hinzufügen:

    • Gehe zu „Einstellungen“ > „Geräte“ > „Drucker & Scanner“ und füge den Netzwerkdrucker manuell hinzu.
  2. Verwendung von PowerShell:

    • Du kannst auch PowerShell verwenden, um Drucker zu verwalten. Ein Beispielbefehl könnte so aussehen:
    Add-Printer -Name "Druckername" -PortName "Portname" -DriverName "Treibername"

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Netzwerkdrucker über VBA ansteuern kannst:

  • Druck auf Standarddrucker:

    Sub DruckAufStandard()
      ActivePrinter = Application.ActivePrinter
      ActiveSheet.PrintOut Copies:=2
    End Sub
  • Direkter Druck auf spezifischen Netzwerkdrucker:

    Sub DruckAufNetzwerkDrucker()
      ActivePrinter = "Netzwerkdruckername"
      ActiveSheet.PrintOut Copies:=2
    End Sub

Tipps für Profis

  • Verwende Variablen für Druckernamen: Um den Code flexibler zu gestalten, kannst Du Variablen für die Druckernamen verwenden.

  • Fehlerbehandlung implementieren: Füge Fehlerbehandlungsroutinen ein, um unerwartete Probleme zu lösen.

  • Automatisiere den Druck: Mit einem Timer oder Trigger kannst Du den Druckauftrag automatisch zu bestimmten Zeiten ausführen.


FAQ: Häufige Fragen

1. Frage
Kann ich einen Netzwerkdrucker verwenden, ohne ihn zu installieren?
Antwort: Nein, jeder Netzwerkdrucker muss über das Druckermenü installiert werden, damit Windows ihn verwalten kann.

2. Frage
Wie kann ich den Druck auf meinem Standarddrucker einstellen?
Antwort: Du kannst den Standarddrucker im VBA-Code festlegen, indem Du ActivePrinter = Application.ActivePrinter verwendest.

3. Frage
Was passiert, wenn der Drucker nicht reagiert?
Antwort: Überprüfe die Verbindung zum Netzwerkdrucker und stelle sicher, dass der Drucker eingeschaltet und online ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige