Inhalt Textbox auf Etikettendrucker ausgeben

  • VB6

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Neptun.

    Inhalt Textbox auf Etikettendrucker ausgeben

    Guten Tag,

    auch ich bin neu hier daher vorab Danke für eure Hilfe und bitte um Nachsicht meiner evtl. Unkenntnis/Verständnis.

    Ich weiß diese Frage wurde in der einen oder anderen Form schon bearbeitet, jedoch passt keine der Lösungen für mein Problem / Funktioniert nicht.

    Daher hier meine Aufgabenstellung.

    Ich habe ein Projekt in VB6 gebaut, welches mir aus einer Serverstruktur den Ordnernamen zum jeweiligen Arbeitsprojekt raussucht. Benutzer gibt Projektnummer ein, Rückgabe = Projektname

    Der Projektname mit Projektnummer wird mit Zeilenumbruch in eine Textbox(Drucktext) geschrieben, um diese ggf. zu bearbeiten. Dann soll ein Button den Druckvorgang(Drucken) auf den Etikettendrucker (75/50mm Etiketten) auslösen, welcher nicht der Standartdrucker ist.

    Wie gehe ich hier vor, um den Drucktext an den Etikettendrucker zentriert zu senden?!

    Lieben Gruß Christian
    Bilder
    • Screenshot_Etikettdruck.JPG

      31,7 kB, 412×338, 121 mal angesehen

    Bultoc schrieb:

    wie oben geschrieben
    oben geschrieben ist auch VBScript.

    Verwendest du als Entwicklungsumgebung Visual Studio 20xx oder Visual Studio 6 oder Visual Basic 6?
    In erstem Fall lässt sich über VB.Net drucken.
    Wenn du tatsächlich eine native VB6-Umgebung hast (woher auch immer, die ist seit 20 Jahren nicht mehr unterstützt), musst du den Default-Printer (vorübergehend) umstellen.
    forums.codeguru.com/showthread…-to-a-non-default-printer
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Moin,

    ich bin wahrscheinlich end falsch hier, aber:

    Ich hab das so gemacht, sind zwar keine ettiketten, aber so ähnlich wird das wohl funktionieren..

    Spoiler anzeigen

    VB.NET-Quellcode

    1. '** Deklaration eines Druckers im Lokalem netzwerk ***
    2. Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
    3. Dim retval As MsgBoxResult
    4. '*** MEssagebox mit einer returnValue ***
    5. retval = MessageBox.Show("Möchten Sie wirklich Drucken?", "Hinweis", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    6. '*** Wennn in der Messsagebox Ja geklickt wurde dann.... ***
    7. If retval = vbYes And cboDrucker.SelectedIndex > 0 And ListBox1.Items.Count > 0 Then
    8. '*** Wenn verbindung aktiv, dann Trennen ***
    9. If s.Connected = True Then
    10. '*** Trennen ***
    11. s.Disconnect(True)
    12. '*** Verbindung Trennen ***
    13. s.Close()
    14. End If
    15. '*** Wenn Index 0 gewählt dann Ignorieren, wennn index größer 0 Dann Drucken ***
    16. If cboDrucker.SelectedIndex = 0 Then
    17. ElseIf cboDrucker.SelectedIndex = 1 Then
    18. Try
    19. '*** Drucker Backoffice ***
    20. s.Connect("IP VON DRUCKER", 9100)
    21. '*** Timer für die prgBar starten ***
    22. Timer1.Start()
    23. If s.Connected = False Then
    24. s.Close()
    25. Return
    26. End If
    27. Catch ex As System.Net.Sockets.SocketException
    28. MessageBox.Show("Drucker nicht gefunden", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information)
    29. End Try
    30. ElseIf cboDrucker.SelectedIndex = 2 Then
    31. Try
    32. '*** Drucker Backoffice ***
    33. s.Connect("IP VON DRUCKER", 9100)
    34. '*** Timer für die prgBar starten ***
    35. Timer1.Start()
    36. If s.Connected = False Then
    37. s.Close()
    38. Return
    39. End If
    40. Catch ex As System.Net.Sockets.SocketException
    41. MessageBox.Show("Drucker nicht gefunden", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information)
    42. End Try
    43. End If
    44. '*** Für jede Zeile in der ListBox wird ein String an den Drucker gesendeT ***
    45. For Each zeile As String In ListBox1.Items
    46. Try
    47. '*** Senden e ines Srings an den Drucker ****
    48. s.SendFile(zeile)
    49. Catch ex As System.NotSupportedException
    50. End Try
    51. Next
    52. '** Textfeld nach abschiocken an den Drucker wieder leeren ***
    53. ListBox1.Items.Clear()

    Hallo Christian,
    sprichst du den Drucker über das Printer-Objekt an?
    Dann z.B. so:

    Visual Basic-Quellcode

    1. Dim Txt as String, Lst() As String, i As Long
    2. Lst = Split(Text1.Text, vbCrLf)
    3. With Printer
    4. Printer.Print ""
    5. .ScaleMode = vbPixels
    6. For i = 0 To UBound(Lst)
    7. Txt = Trim$(Lst(i))
    8. .CurrentX = (.ScaleWidth - .TextWidth(Txt)) / 2
    9. Printer.Print Txt
    10. Next i
    11. .EndDoc
    12. End With
    Gruss,

    Neptun