Zum Inhalt springen

VBA Remote Print auf LPT1


User-Root

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...