不要着急,现在很多工厂使用的德国斑马、台湾TSC等条形码打印机,原厂也有提供了很成熟的条形码编辑软件,不过他们也提供了相应的DLL开发文件(好处是,很多参数都可以自己设置,效果非常不错)。
以TSC TTP 244M PLUS 打印机为例:
Option Explicit
Public Declare Sub openport Lib "c:\windows\system\tsclib.dll" (ByVal PrinterName As String)
Public Declare Sub closeport Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub sendcommand Lib "c:\windows\system\tsclib.dll" (ByVal command As String)
Public Declare Sub setup Lib "c:\windows\system\tsclib.dll" (ByVal LabelWidth As String, ByVal LabelHeight As String, ByVal Speed As String, ByVal Density As String, ByVal Sensor As String, ByVal Vertical As String, ByVal OffSet As String)
Public Declare Sub downloadpcx Lib "c:\windows\system\tsclib.dll" (ByVal Filename As String, ByVal ImageName As String)
Public Declare Sub barcode Lib "c:\windows\system\tsclib.dll" (ByVal X As String, ByVal Y As String, ByVal CodeType As String, ByVal Height As String, ByVal Readable As String, ByVal rotation As String, ByVal Narrow As String, ByVal Wide As String, ByVal Code As String)
Public Declare Sub printerfont Lib "c:\windows\system\tsclib.dll" (ByVal X As String, ByVal Y As String, ByVal FontName As String, ByVal rotation As String, ByVal Xmul As String, ByVal Ymul As String, ByVal Content As String)
Public Declare Sub clearbuffer Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub printlabel Lib "c:\windows\system\tsclib.dll" (ByVal NumberOfSet As String, ByVal NumberOfCopy As String)
Public Declare Sub formfeed Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub nobackfeed Lib "c:\windows\system\tsclib.dll" ()
Public Declare Sub windowsfont Lib "c:\windows\system\tsclib.dll" (ByVal X As Integer, ByVal Y As Integer, ByVal fontheight As Integer, ByVal rotation As Integer, ByVal fontstyle As Integer, ByVal fontunderline As Integer, ByVal FaceName As String, ByVal TextContent As String)
’申明后,就可以直接调用原厂提供的DLL封装好的方法
Private Sub PrintLable3()
'首选之打印模式
On Error GoTo eNext:
If Len(Trim(CopiesTxt.Text)) >= 1 And Len(Trim(gl_PRINT_LB_SET)) >= 1 Then
Else
MsgBox ("Invalid number of copies and Sets, please Re-Enter"), vbCritical, "EnterpriseIQ System"
CopiesTxt.SetFocus
Exit Sub
End If
Exit Sub
eNext:
MsgBox Err.Description, vbCritical, Err.Number
End Sub