User-Root Geschrieben 2. Juni 2010 Teilen 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wolfgang-11 Geschrieben 9. Juni 2010 Teilen 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) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.