printen van een label met Dymo labelwriter

Status
Niet open voor verdere reacties.

old Hippy

Gebruiker
Lid geworden
24 mei 2008
Berichten
911
Hi Allemaal
ik wil graag een label met de labelwriter afdrukken
maar de label blijft leeg maar op de gewone printer druk hij wel af.
Iemand een Idee
Dit is mijn Code

Code:
 Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        'PrintPage is the foundational printing event. This event gets fired for every 
        ' page that will be printed
        Static intCurrentChar As Int32
        Dim font As New Font("Verdana", 14)
        Dim PrintAreaHeight, PrintAreaWidth, marginLeft, marginTop As Int32
        With PrintDocument1.DefaultPageSettings
            PrintAreaHeight = .PaperSize.Height - .Margins.Top - .Margins.Bottom
            PrintAreaWidth = .PaperSize.Width - .Margins.Left - .Margins.Right
            marginLeft = .Margins.Left + 1
            marginTop = .Margins.Top + 1
            ' X and Y coordinate

        End With

        If PrintDocument1.DefaultPageSettings.Landscape Then
            Dim intTemp As Int32
            intTemp = PrintAreaHeight
            PrintAreaHeight = PrintAreaWidth
            PrintAreaWidth = intTemp
            ' if the user selects landscape mode, swap the printing area height and width
        End If

        Dim intLineCount As Int32 = CInt(PrintAreaHeight / font.Height)
        Dim rectPrintingArea As New RectangleF(marginLeft, marginTop, PrintAreaWidth, PrintAreaHeight)
        Dim fmt As New StringFormat(StringFormatFlags.LineLimit)
        Dim intLinesFilled, intCharsFitted As Int32
        e.Graphics.MeasureString(Mid(TextBox1.Text.ToString, intCurrentChar + 1), font, New SizeF(PrintAreaWidth, PrintAreaHeight), fmt, intCharsFitted, intLinesFilled)
        e.Graphics.DrawString(Mid(TextBox1.Text.ToString, intCurrentChar + 1), font, Brushes.Black, rectPrintingArea, fmt)
        intCurrentChar += intCharsFitted
        e.HasMorePages = False
        intCurrentChar = 0

    End Sub
 
Ik kan het ff nu niet zo snel vinden want kben niet zo heel goed in VB maar probeer tijdens te debuggen steeds te kijken of de waarden van de variablen zijn ingevuld en of deze kloppen.

Byee VRC
 
Hi dat zal niet helpen
alles werkt ik vraag mij af of een labelwriter een andere print opdracht nodig heeft.
wand op een A4 print hij gewoon uit.
 
dat zou best goed kunnen omdat het andere hardware is
 
hi visha

Voor zo ver ik begrepen heb werkt het met objecten heb geen idee hoe dit aan te pakken.

het is wel zo dat hij labels kan printen van uit klembord in het programma wat bij de labelwriter zit.
dus maak ik voorlopig daar gebruik van tot ik een oplossing heb gevonden.

Groet Old Hippy
 
Weet je ook misschien welke objecten?
 
Ha Visha

ik had iets gevonden op het web.
maar krijg dit niet werkend ben gestopt met verderzoeken.
gebruik nu de klembord en het labelprogramma.

de gevonde code:

Code:
Dim myDymo As Object
    Dim myLabel As Object
    Dim sPrinters As String
    Dim arrPrinters() As String
    Dim i As Long, i2 As Long, iStart As Long
    
    On Error Resume Next
    Set myDymo = CreateObject("Dymo.DymoAddIn")
    Set myLabel = CreateObject("Dymo.DymoLabels")
    If (myDymo Is Nothing) Or (myLabel Is Nothing) Then
        MsgBox "Unable to create OLE objects"
        Exit Sub
    End If
    
      sPrinters = myDymo.GetDymoPrinters()
    If sPrinters = "" Then
        Exit Sub
    Else
        i2 = 0
        iStart = 1
        For i = 1 To Len(sPrinters)
            If Mid(sPrinters, i, 1) = "|" Then
                i2 = i2 + 1
                ReDim Preserve arrPrinters(i2 + 1)
                arrPrinters(i2) = Mid(sPrinters, iStart, i - iStart)
                iStart = i + 1
            End If
        Next i
    End If
    
      sDefaultPrinter = Application.ActivePrinter
    With myDymo
         .SelectPrinter arrPrinters(0)
    End With
   
    'Open the label template
    myLabel = myDymo.Open("C:\SomeFolder\test.LWL")
    
 'Give text objects OText1 and OText2 on the label a value        myLabel
   myLabel .SetField( "OText1", "123456")
   myLabel.SetField ("OText2", "artcile x")
            
   'Print the label
   myDymo.print(1,fasle)
         
    'Make sure the default printer is selected again
    Application.ActivePrinter = sDefaultPrinter
    
    'Clean up
    Set myLabel = Nothing
    Set myDymo = Nothing

Groet Old Hippy
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan