QQ:954486673
微信:13822155058
淘宝:https://shop73172356.taobao.com/
Public Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type
Public CR As String
Public Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Public Declare Function EndDocPrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Public Declare Function EndPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Public Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, ByVal pDefault As Long) As Long
Public Declare Function StartDocPrinter Lib "winspool.drv" Alias "StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pDocInfo As DOCINFO) As Long
Public Declare Function StartPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Public 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 PrintinfByte() As Byte
Dim lhPrinter As Long
Dim lReturn As Long
Dim lpcWritten As Long
Dim lDoc As Long
Dim sWrittenData As String
Dim MyDocInfo As DOCINFO
PrintinfByte = StrConv(str, vbFromUnicode) '将要打印的信息转化成字节数组,这样才能算出准确的打印长度,直接用len函数不行
lpcWritten = UBound(PrintinfByte) + 1
CR = Chr(13) & Chr(10)
lReturn = OpenPrinter(P1, lhPrinter, 0)
If lReturn = 0 Then
Exit Sub
End If
MyDocInfo.pDocName = "标签"
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = vbNullString
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)
lReturn = WritePrinter(lhPrinter, ByVal str, lpcWritten, lpcWritten)
lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub
Private Sub Command3_Click()
Dim printstr as string
Dim I as integer
printstr = Chr(27) & Chr(64) '初始化
printstr = printstr + Chr(27) & Chr(74) & Chr(23) '执行n/144英寸走纸
For i = 0 To 3 '页头空行
printstr = printstr + Chr(13) & Chr(10)
Next
printstr = printstr + " IC卡补卡票据 "
printstr = printstr & Chr(27) & Chr(74) & Chr(10)
printstr = printstr & Chr(27) & Chr(33) & Chr(0)
printstr = printstr + "--------------------------------"
printstr = printstr & Chr(27) & Chr(74) & Chr(10)
printstr = printstr + "卡号:" + Trim(Text7) + " 姓名:" + Trim(Text2)
printstr = printstr & Chr(27) & Chr(74) & Chr(25)
printstr = printstr + "现金账户补卡:" + Format(Val(Text5), "0.00") + " 元"
printstr = printstr & Chr(27) & Chr(74) & Chr(25)
printstr = printstr + "补贴账户补卡:" + Format(Val(Text10), "0.00") + " 元"
printstr = printstr & Chr(27) & Chr(74) & Chr(25)
printstr = printstr + "收新卡工本费:" + Format(Val(Text6), "0.00") + " 元"
printstr = printstr & Chr(27) & Chr(74) & Chr(25)
printstr = printstr + "补卡时间:" + Format(Now, "YYYY-MM-DD HH:MM:SS")
printstr = printstr & Chr(27) & Chr(74) & Chr(25)
printstr = printstr + "操 作 员:" + Trim(czymc)
printstr = printstr & Chr(27) & Chr(74) & Chr(25)
printstr = printstr + "--------------------------------"
printstr = printstr & Chr(27) & Chr(74) & Chr(20)
printstr = printstr + FlootInf
printstr = printstr & Chr(27) & Chr(74) & Chr(10)
For i = 0 To 5 '页脚空行
printstr = printstr & Chr(13) & Chr(10)
Next
printstr = printstr + Chr(27) & Chr(106) & Chr(20)
If cutp > 0 Then printstr = printstr + Chr(27) & Chr(105) '切纸指令
Call Print_axis(PrintName, printstr) ‘PrintName 打印机名称 printstr 打印的信息
End Sub