不同的钱箱可以弹出的指令会有所不同,一般在厂家的说明书上有提供的
如果指令是:27,112,0,100,100,你可以用下面的代码打开钱箱.
Open "LPT1" For Output As #1
Print #1,chr(27) & chr(112) & chr(0) & chr(100) & chr(100)
close #1
不预览直接打印:
rptRetailOrder.PrintToPrinter(1, False, 0, 0)
选择打印机:
Dim prn As Printer
dim strName as string
dim bOK as boolean
strName=你要的打印机名
bOK=false
For Each prn In Printers
If prn.DeviceName = strName Then
Set Printer = prn
bOK=true
exit for
End If
Next prn
If bOK = false Then
MsgBox "打印机不存在或已改名", vbInformation
end if
--------------------------------------------------------------------------------------------------------------------
不知道楼主的打印机是什么型号的.我的是那种一般的热敏POS打印机.
'开始打印
If Not PrintBill Then
Lspxx2.Caption = "系统设置为不打印小票,按【F3】手动开启钱箱!"
Else
Lspxx2.Caption = "正在打印销售小票...."
Open "LPT1" For Output As #1
If OpenMbox Then '是否弹出钱箱
Print #1, OpenBox(OpenBoxCommand)
End If
Print #1, Space(CInt((20 - Len(XPBT)) / 2)) & XPBT
Print #1, ""
Print #1, "收银员:" & UsrCode & " [NO]:" & LSH
Print #1, Replace(Space(32), " ", "-")
Print #1, "商品名 数量 单价 小计"
For i = 1 To CurRow
Print #1, CutStr3(Trim(FlexGrid.TextMatrix(i - 1, 1)), 8) & CutStr2(Trim(FlexGrid.TextMatrix(i - 1, 2)), 5) & CutStr2(Trim(FlexGrid.TextMatrix(i - 1, 4)), 5) & CutStr2(Trim(FlexGrid.TextMatrix(i - 1, 5)), 6)
Next
Print #1, Replace(Space(32), " ", "-")
Print #1, "机号: " & POS_NO & " 数量: " & CurRow & "总计: " & Format(CurZHJE, "0.00") & "元"
Print #1, "付款: " & Format(CurFK, "0.00") & "(元) 找零: " & Format(CurFK - CurSFJE, "0.0") & "元"
If CurxfkSFYX Then
If PrintXFK Then
Print #1, "消费券号码: " & Trim(CurXFKH) & " (有效)"
Else
Print #1, "消费券号码: (保密) (有效)"
End If
Else
If PrintXFK Then
Print #1, "消费券号码: " & Trim(CurXFKH) & "(无效)"
Else
Print #1, "消费券号码: (保密)(无效)"
End If
End If
Print #1, "本次消费券消费金额: " & Format(CurXFKJE, "0.00") & "元"
Print #1, XPBW
Print #1, ""
If Trim(GGC) <> "" Then
Print #1, "----------* 本店消息 *----------"
Print #1, Space(CInt((25 - Len(GGC)) / 2)) & GGC
Print #1, ""
Else
Print #1, ""
Print #1, ""
End If
Print #1, ""
Print #1, ""
Print #1, ""
Print #1, ""
Close #1