patrick-it83
Goto Top

Druckerport (Ne00) ändert sich auf dem Terminalserver

Hi,

ein Kunde von uns ist auf ein Terminalserver umgezogen und seit dem geht was mit dem Excel Makros und deren Druckerzuweisung schief.

Das Script aus dem Makros sieht so aus:

Sub Eingabe_Druck_Buero()

Dim Curr_Printer As String

Application.ScreenUpdating = False

'Zeitstempel eintragen
ActiveSheet.Range("E23").Value = Now

'Aktiven Drucker bestimmen
Curr_Printer = Application.ActivePrinter

'Beim Einrichten XXX mit Druckernamen ersetzen, der mit Hilfe des Makros "Druckernamen_Anzeigen" ermittelt werden kann
Application.ActivePrinter = "Buero_Bestellung auf Ne07:"

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Application.ActivePrinter = Curr_Printer

Application.ScreenUpdating = True

End Sub

Sub Eingabe_Druck_Laden()

Dim Curr_Printer As String

Application.ScreenUpdating = False

'Zeitstempel eintragen
ActiveSheet.Range("E23").Value = Now

'Aktiven Drucker bestimmen
Curr_Printer = Application.ActivePrinter

'Beim Einrichten XXX mit Druckernamen ersetzen, der mit Hilfe des Makros "Druckernamen_Anzeigen" ermittelt werden kann
Application.ActivePrinter = "Expedition_Bestellung auf Ne05:"

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Application.ActivePrinter = Curr_Printer

Application.ScreenUpdating = True

End Sub


Die beiden Drucker in dicker Schrift drucken auf dem jeweiligen Ne-Port welcher auch durch ein weiteren Makro gefunden werden kann.
Ich hab in der Registry auf dem Terminalserver die Drucker gefunden und dort ändert sich tatsächlich regelmäßig der Ne-Port.
Somit funktioniert das Drucken nicht mehr, bevor das angepasst wird von Hand, was schon paar mal am Tag passieren kann.

Kann man den Ne-Port fest machen, kann mir jemand sagen, warum sich der ändert?
Kann das Script vielleicht geändert werden, sodass der Netzwerkdrucker direkt angesprochen wird, den die Namen ändern sich nicht.

Liebe Grüße Patrick

Content-ID: 2034729136

Url: https://administrator.de/contentid/2034729136

Printed on: October 11, 2024 at 14:10 o'clock

Meierjo
Meierjo Mar 02, 2022 at 11:13:30 (UTC)
Goto Top
Hallo

Ich hatte vor längerer Zeit mal die Anforderung, auf verschiedenen Rechnern die Drucker ansprechen zu können
So wie ich das noch in Erinnerung hatt, sind die NE Nummern an jedem Rechner anders
Ich hatte das damals so löschen können, dass ich den Druckernamen verwende, und dazu passend die NE Nummer finden konnte
Etwa so
STDDrucker = Application.ActivePrinter 'Standard - Drucker auslesen  
    Ziffer = 0
    On Error GoTo NOFAXDRUCKER
    Application.ActivePrinter = "Tobit Faxware auf NE0" & Ziffer & ":" 'TOBIT Faxware suchen  
    FAXDrucker = Application.ActivePrinter
    GoTo second
NOFAXDRUCKER:
    If Ziffer = 20 Then
        FAXDrucker = "nicht installiert"  
        Resume second
    End If
    Ziffer = Ziffer + 1
    Resume

second:

Vielleicht hilfts dir was

Gruss
Patrick-IT83
Patrick-IT83 Mar 03, 2022 at 07:35:42 (UTC)
Goto Top
Zitat von @Meierjo:

Hallo

Ich hatte vor längerer Zeit mal die Anforderung, auf verschiedenen Rechnern die Drucker ansprechen zu können
So wie ich das noch in Erinnerung hatt, sind die NE Nummern an jedem Rechner anders
Ich hatte das damals so löschen können, dass ich den Druckernamen verwende, und dazu passend die NE Nummer finden konnte
Etwa so
STDDrucker = Application.ActivePrinter 'Standard - Drucker auslesen  
    Ziffer = 0
    On Error GoTo NOFAXDRUCKER
    Application.ActivePrinter = "Tobit Faxware auf NE0" & Ziffer & ":" 'TOBIT Faxware suchen  
    FAXDrucker = Application.ActivePrinter
    GoTo second
NOFAXDRUCKER:
    If Ziffer = 20 Then
        FAXDrucker = "nicht installiert"  
        Resume second
    End If
    Ziffer = Ziffer + 1
    Resume

second:

Vielleicht hilfts dir was

Gruss

Hey,

ich probiere es später mal aus, das eine gute Idee!
Danke erstmal.