Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Drucken auf Netzwerkdrucker

Drucken auf Netzwerkdrucker
03.04.2006 10:58:39
Thomas
Hallo zusammen,
ich habe ein Dokument mit einer Befehlsschaltfläche versehen und folgenden Code zugewiesen.

Private Sub CommandButton1_Click()
' BestellAbschluss Makro
' Makro am 28.03.2006 von ThomasRitter aufgezeichnet
Selection.AutoFilter Field:=5, Criteria1:="<>"
Application.ActivePrinter = "\\1-server\Kyocera Mita KM-2550 KX auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\1-server\Kyocera Mita KM-2550 KX auf Ne03:", Collate:=True
End Sub

Bei mir klappt das auch. Nur bei einigen Kollegen kommt Laufzeitfehler 1004. Beim Debuggen markiert er die Zeile
Application.ActivePrinter = "\\1-server\Kyocera Mita KM-2550 KX auf Ne03:"
gelb. Hier muss also der Fehler liegen?
Gibt es einen anderen Befehl fürs drucken im Netzwerk? Eventuell müssen Benutzerrechte umgangen werden?!
Hoffe das mir hierbei geholfen werden kann.
MfG aus Berlin
Thomas R.
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken auf Netzwerkdrucker
03.04.2006 11:54:48
ray
Hi,
das liegt an der Zuweisung Ne03 bei Deinen Kollegen ist das eine andere Ziffer.
Du mußt das so machen:

Sub lpt_brief()
Application.ScreenUpdating = False
Dim Ne As String, Printer$, i%
Printer = "\\PINNAU1\BriefpapierDruck auf Ne"
On Error Resume Next
For i = 1 To 99
Ne = Format(i, "00")
Err.Number = 0
Application.ActivePrinter = Printer & Ne & ":"
If Err.Number = 0 Then
Exit For
End If
Next
'MsgBox "fertig"
End Sub

Gruß ray
Anzeige
AW: Drucken auf Netzwerkdrucker
03.04.2006 12:54:26
Thomas
Hallo ray,
habe "\\PINNAU1\BriefpapierDruck" durch meinen Drucker "\\1-server\Kyocera Mita KM-2550 KX" ersetzt.
Leider passiert hier gar nichts...
Es erfolgt weder eine Fehlermeldung das im Code ein Fehler vorhanden ist, noch erfolgt eine Meldung seitens Windows das nicht gedruckt werden kann.
Hab ich was vergessen?
Bitte um Hilfe.
MfG aus Berlin
Thomas R.
Anzeige
AW: Drucken auf Netzwerkdrucker
03.04.2006 13:03:23
Thomas
Hallo ray,
habe "\\PINNAU1\BriefpapierDruck" durch meinen Drucker "\\1-server\Kyocera Mita KM-2550 KX" ersetzt.
Leider passiert hier gar nichts...
Es erfolgt weder eine Fehlermeldung das im Code ein Fehler vorhanden ist, noch erfolgt eine Meldung seitens Windows das nicht gedruckt werden kann.
Hab ich was vergessen?
Bitte um Hilfe.
MfG aus Berlin
Thomas R.
Anzeige
AW: Drucken auf Netzwerkdrucker
03.04.2006 13:20:26
ray
hi,
mit dem code kannst Du doch nur den Drucker zuweisen. Du mußt natürlich noch den Druckbefehl einfügen...
Sorry, hätte ich auch gleich sagen können.
Gruß
ray
AW: Drucken auf Netzwerkdrucker
03.04.2006 13:34:43
Thomas
Hallo,
hier sind meine Kenntnisse scheinbar leider nicht ausreichend.
Wie würde dann hier der komplette Code aussehen wenn ich den auf

Private Sub CommandButton1_Click()
lege?

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim Ne As String, Printer$, i%
Printer = "\\1-server\Kyocera Mita KM-2550 KX auf Ne"
On Error Resume Next
For i = 1 To 99
Ne = Format(i, "00")
Err.Number = 0
Application.ActivePrinter = Printer & Ne & ":"
If Err.Number = 0 Then
Exit For
End If
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\1-server\Kyocera Mita KM-2550 KX auf Ne", Collate:=True
End Sub

Sieht für mich komisch aus da ja bei ActiveWindow.SelectedSheets wieder einen Verweis auf den Drucker hat.
Kannst du mich bitte korrigieren.
Danke.
MfG aus Berlin
Thomas R.
Anzeige
AW: Drucken auf Netzwerkdrucker
03.04.2006 13:48:44
ray
hi,
bei meinem coder nach next einfügen:
Sheets("kdg").PrintOut From:=1, To:=1, Copies:=1, Collate:=True
Dann sollte es gehen. Bin jetzt weg. Bitte mal Rückmeldung.
Gru´ß
ray
DANKE
03.04.2006 14:24:23
Thomas
ALLES SUPER, DANKE.
MfG aus Berlin
Thomas
Geschlossen
04.04.2006 07:55:37
Geschlossen
.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Drucken auf Netzwerkdrucker in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne das Excel-Dokument, in dem du eine Befehlsschaltfläche zur Druckausgabe erstellt hast.
  2. Füge den folgenden VBA-Code in den Code-Editor ein, um den Drucker zuzuweisen:
    Private Sub CommandButton1_Click()
        Application.ScreenUpdating = False
        Dim Ne As String, Printer$, i%
        Printer = "\\1-server\Kyocera Mita KM-2550 KX auf Ne"
        On Error Resume Next
        For i = 1 To 99
            Ne = Format(i, "00")
            Err.Number = 0
            Application.ActivePrinter = Printer & Ne & ":"
            If Err.Number = 0 Then
                Exit For
            End If
        Next
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "\\1-server\Kyocera Mita KM-2550 KX auf Ne", Collate:=True
    End Sub
  3. Teste den Code, indem du die Befehlsschaltfläche drückst. Überprüfe, ob der Druckauftrag erfolgreich gesendet wird.

Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn der Drucker nicht richtig zugewiesen ist. Achte darauf, dass die Ziffer "Ne" korrekt ist und dass der Drucker im Netzwerk verfügbar ist.

  • Keine Fehlermeldung beim Drucken: Wenn du keine Rückmeldung erhältst, kann es daran liegen, dass der Druckbefehl nicht korrekt ausgeführt wird. Stelle sicher, dass der PrintOut-Befehl im Code enthalten ist, wie im obigen Beispiel.


Alternative Methoden

Eine alternative Methode zur Zuweisung des Druckers könnte die Verwendung eines einfachen Dialogfeldes sein, um den Benutzer den gewünschten Drucker auswählen zu lassen. Hier ist ein Beispiel:

Sub DruckerAuswahl()
    Dim DruckerName As String
    DruckerName = Application.InputBox("Bitte Druckername eingeben:", Type:=2)
    Application.ActivePrinter = DruckerName
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie der Code in einer realen Anwendung aussehen könnte:

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim Ne As String, Printer$, i%
    Printer = "\\1-server\Kyocera Mita KM-2550 KX auf Ne"
    On Error Resume Next
    For i = 1 To 99
        Ne = Format(i, "00")
        Err.Number = 0
        Application.ActivePrinter = Printer & Ne & ":"
        If Err.Number = 0 Then
            Exit For
        End If
    Next
    Sheets("kdg").PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End Sub

Dieses Beispiel zeigt, wie man den Druckauftrag an ein spezifisches Blatt namens "kdg" sendet.


Tipps für Profis

  • Verwalte Drucker effizient: Nutze On Error Resume Next, um Fehler abzufangen und den Code nicht zu stoppen, wenn ein Drucker nicht gefunden wird.
  • Automatisierung: Integriere diesen Code in größere Automatisierungsprojekte, um den Workflow zu verbessern.
  • Tests durchführen: Teste den Code unter verschiedenen Bedingungen, um sicherzustellen, dass er in jedem Netzwerkumfeld funktioniert.

FAQ: Häufige Fragen

1. Was bedeutet Laufzeitfehler 1004? Dieser Fehler weist darauf hin, dass ein Problem mit dem Drucker oder der Druckanweisung vorliegt. Überprüfe die Druckerzuweisung und die Verfügbarkeit des Druckers.

2. Kann ich mehrere Drucker in meinem Code verwenden? Ja, du kannst mehrere Drucker definieren und je nach Bedarf im Code umschalten.

3. Warum funktioniert der Druckbefehl nicht? Stelle sicher, dass der Drucker korrekt zugewiesen ist und dass die PrintOut-Anweisung im Code enthalten ist.

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