User-Root Geschrieben 2. Juni 2010 Geschrieben 2. Juni 2010 Hallo Gemeinde, wir haben hier im Betrieb ein ein Excel VBA-Modul, welches direkt auf den lokalen LPT1 ein Print-Statement weiterleitet, damit wir dort Etiketten drucken können. Will heißen: Der Drucker hat keinen Druckertreiber sondern interpretiert direkt den LPT1 aufruf. Zur Veranschaulichung der Quelltext: Sub Etikettendruck() Open "LPT1" For Output As #1 Dim Zähler As Integer Dim Zeile, Spalte, Dummy As Integer Dim z Dim Temp$ Dim Hostname$ Dim AssetID$ Dim Stückzahl$ Zeile = 0: Dummy = 0 For Each z In Selection If z <> "" Then ' wenn "etwas" in der Markierung, ... Zeile = z.Row ' Merke in welcher Zeile, ... Spalte = z.Column ' Merke in welcher Spalte, ... Select Case Spalte Case 1: y$ = "A" Case 2: y$ = "B" Case 3: y$ = "C" Case 4: y$ = "D" End Select If Zeile <> Dummy Then ' ist es keine Mehrfachmarkierung, ... Range(y$ + CStr(Zeile)).Activate ' aktiviere Zelle, ... ' Werte aus den Zellen holen, ... Hostname$ = Cells(ActiveCell.Row, Spalte) '1 AssetID$ = Cells(ActiveCell.Row, Spalte + 1) '2 Stückzahl$ = "1" Dummy = Zeile ' und aktuelle Zeile Merken, ... 'Drucke an "LPT1:", .... Print #1, "mm" Print #1, "z0" Print #1, "J" Print #1, "OR" Print #1, "H100,0,T" 'Format 76 x 25 mm Print #1, "Sl1;0.0,0.0,25.0,25.0,76.0" 'Offset in X / Y Print #1, "D3.0,1.0" 'Textausgabe Print #1, "T04.0,06.0,0,3,PT 14;Firma XY GmbH" Print #1, "T04.0,11.0,0,3,PT 12;Hostname:" Print #1, "T27.0,11.0,0,3,PT 12;" + Hostname$ Print #1, "T04.0,16.0,0,3,PT 12;AssetID:" Print #1, "T27.0,16.0,0,3,PT 12;" + AssetID Print #1, "B04.7,18.0,0,PDF417+EL0,0.42,0.42,0;" + Hostname$ + " " + AssetID 'Anzahl Etiketten Print #1, "A" + Trim(Str(Stückzahl)) End If End If Next z Close End Sub So, das ganze funktioniert tadellos, nur haben wir darüber nachgedacht, das wir das gerne auch Remote drucken wollen. Also das der Print-Aufruf nicht lokal sondern einen Remote Rechner anspricht um es dort durch den lpt1 zu jagen. Leider bin ich in VBA / LPT-Printaufrufe garnicht fit. Hat da jemand eine Idee wie man das programmiertechnisch einfangen könnte?
wolfgang-11 Geschrieben 9. Juni 2010 Geschrieben 9. Juni 2010 Leider bin ich in VBA / LPT-Printaufrufe garnicht fit. Hat da jemand eine Idee wie man das programmiertechnisch einfangen könnte? Das VBA/LPT funktioniert ja schon ganz gut. Hier braucht man auf dem Remote-Recher eine Dienstprogramm mit der man geeignet kommunizieren kann oder sollte (http-Klasse)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden