Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VBA Remote Print auf LPT1

Empfohlene Antworten

Veröffentlicht

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?

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)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.