Here's the code I use for printing Bar Codes to our Zebra LP2844 printers.
It uses direct ZPL. According to Zebra's tech support, this is the only way
to print to their printers, even with the Zebra drivers installed.
Mike Ober.
=====================================
Option Explicit
Option Compare Text
Public Property Get BarCodePort() As String
Dim p As Printer
BarCodePort = ""
For Each p In Printers
If p.DeviceName = "Zebra LP2844" Then
BarCodePort = p.Port
Exit For
End If
Next p
End Property
Public Sub PrintBarCode128A(s As String)
Dim Port As String
Dim fnum As Long
On Error GoTo errHandler
Port = BarCodePort
If Port <> "" Then
fnum = FreeFile(1)
Open Port For Output As fnum
' "" Send an initial string to prepare the printer
Print #fnum, ""
' N = Clear image buffer
Print #fnum, "N"
' Bp1,p2,p3,p4,p5,p6,p7,p8,"DATA" is a bar code
' p1 = Horizontal Start Position
' p2 = Vertical Start Position
' p3 = Rotation; 0 = no Rotation
' p4 = Bar Code Selection; 1A = Code 128A
' p5 = Narrow bar width in dots; p4=1A: 1-10
' p6 = Wide bar width in dots; 2-30; value doesn't matter for Code 128
' p7 = Bar Code Height in dots
' p8 = Print Human Readable code; B = yes; N = no
' "DATA" is the string to print
Print #fnum, "B190,30,0,1A,3,4,55,B,""" & s & """"
Print #fnum, "P1"
End If
Sleep 1000
errHandler:
On Error Resume Next
If fnum <> 0 Then Close #fnum
End Sub
====================================