AW: Netzwerkdrucker von 3 PCS nutzen
16.05.2007 09:30:56
3
Hi Sebbi
Was genau funktioniert denn mit deiner Lösung nicht?
Ich glaub, grundsätzlich würd ich es auch mit deinem Code versuchen, habe aber keinen Netzwerkdrucker zum Testen, deswegen meine etwas geänderte Idee also ungetestet:
Voraussetzung ist, dass dir für jeden PC der richtige Druckerpfad bekannt ist.
Sub Drucken()
Dim lboPrFail As Boolean, lboDummy As Boolean
On Error GoTo Fehler
lboPrFail = True
If lboPrFail = True Then
Application.ActivePrinter = "\\USER XYZ\Citizen CLP-621 auf Ne00:"
If lboDummy = False Then
lboPrFail = False
Else
lboDummy = False
End If
End If
If lboPrFail = True Then
Application.ActivePrinter = "Citizen CLP-621 auf Ne00:"
If lboDummy = False Then
lboPrFail = False
Else
lboDummy = False
End If
End If
If lboPrFail = True Then
Application.ActivePrinter = "\\USER XYZ\Citizen CLP-621 auf Ne01:"
If lboDummy = False Then
lboPrFail = False
Else
lboDummy = False
End If
End If
If lboPrFail = False Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, Preview:=True
Else
MsgBox "Der richtige Drucker wurde nicht gefunden. Melden Sie das dem _
Netzwerkverantwortlichen"
End If
Exit Sub
Fehler:
lboPrFail = True
lboDummy = True
Resume Next
End Sub
Wenn ich richtig denke, und der PC das mit dem Code tut, was er soll :-), dann...
...wird zuerst der erste Druckbefehl ohne If-Bedingung versucht.
...wenn das nicht funktioniert, wird die Fehler: - Routine aufgerufen, in der die Variable lboPrFail = True gesetzt wird, und der nächste Befehl wird versucht.
...wenn einer der drei Druckbefehle funktioniert, wird die Variable lboPrFail = False gesetzt, und vllt weitere Druckbefehle werden nicht gestartet, weil eben die Variable lboPrFail nicht True ist.
...die Variable lboDummy wird benötigt, damit die Variable lboPrFail nur im Bedarfsfall durch Resume = Next auf False gesetzt wird.
...und wenn doch alle Stricke reißen, erscheint nach allen drei Fehl-Druckversuchen eine entsprechende Meldung.
Konnte ich helfen?
Ciao
Thorsten