QZZ = Chr(27) & Chr(74) '前进纸
HZZ = Chr(27) & Chr(106) '后进纸
DZT = Chr(28) & Chr(38) & _
Chr(27) & Chr(43) & Chr(100) & _
Chr(28) & Chr(87) & Chr(0) '大字体
XZT = Chr(28) & Chr(46) & _
Chr(27) & Chr(77) & _
Chr(27) & Chr(15) & _
Chr(27) & Chr(107) & Chr(0) '小字体
CR = Chr(13) & Chr(10)
Tstr = Chr(27) & Chr(64) & _ 'Tstr代表要打印的字符窜
Chr(27) & Chr(74) & Chr(23) & _
Chr(28) & Chr(38) & _
Chr(27) & Chr(43) & Chr(100) & _
Chr(28) & Chr(87) & Chr(0) & _
String(15, " ") & S1 & S2 & CR & _
Chr(27) & Chr(74) & Chr(5) & _
String(15, " ") & S3 & S4 & CR & _
Chr(27) & Chr(74) & Chr(7) & _
String(15, " ") & S5 & S6 & CR & _
CR & CR & CR & _
Chr(27) & Chr(106) & Chr(20)
Call Print_axis("Epson LQ-300K", Tstr)
'以下写在模块里
Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type
Dim CR As String
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndDocPrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function OpenPrinter Lib "winspool.drv" Alias _
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
Private Declare Function StartDocPrinter Lib "winspool.drv" Alias _
"StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, _
pDocInfo As DOCINFO) As Long
Private Declare Function StartPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function WritePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _
pcWritten As Long) As Long
Public Sub Print_axis(P1 As String, str As String)
Dim lhPrinter As Long
Dim lReturn As Long
Dim lpcWritten As Long
Dim lDoc As Long
Dim sWrittenData As String
Dim MyDocInfo As DOCINFO
CR = Chr(13) & Chr(10)
lReturn = OpenPrinter(P1, lhPrinter, 0)
If lReturn = 0 Then
MsgBox "未正确安装打印机!"
Exit Sub
End If
MyDocInfo.pDocName = "标签"
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = vbNullString
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)
sWrittenData = str
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, _
Len(sWrittenData), lpcWritten)
lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub
'具体如何控制打印行间据、字间距、字体大小、定位等等,可以参照epson ESC/P指令集Top
直接操作打印机
最新推荐文章于 2021-11-29 21:11:06 发布