Public Function PrintBarcode(printstr As String) As String
Dim m_port As String
m_port = ReadIni("ZEBRA888T", "port")
Dim arrPrint() As String
arrPrint = Split(printstr, "^")
Open App.Path & "\print.txt" For Output As #1
'回圈列印
'外層回圈
Dim strPrint() As String
strPrint = Split(printstr, "$")
Dim arrLen As Integer
arrLen = UBound(strPrint) - LBound(strPrint) + 1
Dim printstring As String '列印內容
printstring = ""
For k = 0 To arrLen - 1
Dim strParam() As String
strParam = Split(strPrint(k), "^")
'內層回圈
'回圈列印
'列印運單上的標簽
Print #1, "#!A1"
Print #1, "#IMSR65.02/55.03" '標簽寬、高
Print #1, "#HV65" '濃度
Print #1, "#PR4/4/" '列印速度
Print #1, "#RX0"
Print #1, "#N13"
Print #1, "#ERN/1//0"
'以下是列印內容
Print #1, "#T09.91 #J04.06 #YN901/0U/42///" & strParam(3) & "#G" '漢字
Print #1, "#T07.96 #J39.20 #YN101/0/42///YN101#G" '字符
Print #1, "#T06.52 #J35.48 #YL0/0/00.51/74.25" '劃線
Print #1, "#T07.20 #J16.00 #YB13/0P2.0M/13.46/4///12343578329-3124#G" '條碼
'列印
Print #1, "#Q1#G"
Print #1, "#!P1"
Next
Close #1
On Error Resume Next
'檔案字符集轉換
Dim filename As String, b() As Byte, S As String
Dim ADO_Stream As Object
filename = App.Path & "\print.txt" '請修改為具體檔案名
'If Dir(FileName) = "" Then Exit Sub
ReDim b(FileLen(filename))
Open filename For Binary As #1
Get #1, , b
Close #1
S = StrConv(b, vbUnicode)
Set ADO_Stream = CreateObject("ADODB.Stream")
With ADO_Stream
.Type = 2
.Mode = 3
.Charset = "utf-8"
.Open
.WriteText S
.SaveToFile filename, 2
End With
Set ADO_Stream = Nothing
FileCopy App.Path & "\print.txt", m_port
If Err.number <> 0 Then
ZebraPrint = "請確認列印機埠設定正確" ''Err.Description
Else
ZebraPrint = ""
End If
End Function
好像 FileCopy 不被識別 為啥呢?
uj5u.com熱心網友回復:
LZ的代碼是輸出到文本檔案的代碼.
列印需要這樣組織代碼:
Private Sub Command1_Click()
Dim i As Integer
Open "LPT1" For Output As #1
Print #1, Chr(27); Chr(64) '清除原先的列印設定,即初始化
Print #1, Chr(28) & "@" '設定漢字狀態
pnt1
Print #1, Chr(28) & "J" '設定漢字縱向列印
pnt1
Print #1, Chr(28) & "K" '設定漢字橫向列印狀態
Print #1, Chr(27); "3"; Chr(45) '設定換行量寬度
Print #1, Chr(27); "W"; Chr(1) '設定四倍放大
Print #1, Chr(27); "q"; Chr(3) '設定空心字
pnt1
Print #1, Chr(27); Chr(64) '清除原先的列印設定,即初始化
For i = 3 To 24 Step 3 '執行字符間隔調整
Print #1, Chr(28); "S"; Chr(0); Chr(i)
pnt1
Next
Print #1, Chr(28); "S"; Chr(0); Chr(3)
Print #1, Chr(27); "4"; '設定斜體
Print #1, Chr(27); "q"; Chr(3) '設定空心字
pnt1
'Print #1, Chr(28) & "." '切換回西文狀態
Close #1
End Sub
Private Sub Form_Load()
Text1 = ""
Open "LPT1" For Output As #1
Print #1, Chr(27); Chr(64) '清除原先的列印設定,即初始化
Close
End Sub
Public Sub pnt1()
Print #1, , "LPT1:" & "帶有心臟的中英文列印機"
End Sub
或者使用Printer物件實施列印.
uj5u.com熱心網友回復:
我要的是從自動生成的Print.txt中讀取的內容發送到列印機列印。'列印運單上的標簽
Print #1, "#!A1"
Print #1, "#IMSR65.02/55.03" '標簽寬、高
Print #1, "#HV65" '濃度
Print #1, "#PR4/4/" '列印速度
Print #1, "#RX0"
Print #1, "#N13"
Print #1, "#ERN/1//0"
這一段是標簽內容被存到啦Print.txt中
發送到列印機出來就是 條形碼。
現在我要的是從這個Print.txt中
讀取內容發送到列印機進行列印。
Dim m_port As String
m_port = ReadIni("ZEBRA888T", "port")
這個是列印機的埠讀取的組態檔。
我想著用FileCopy App.Path & "\print.txt", m_port 可以呼叫列印機但是 沒效果。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
我已經搞定啦 謝謝,我原來是想著吧 要列印的內容輸入到 一個txt 文本中 在 從文本中呼叫,現在直接列印 可以啦
uj5u.com熱心網友回復:
自己能解決問題是最好的實踐經驗.
uj5u.com熱心網友回復:
Dim arrPrint() As StringarrPrint = Split(printstr, "^")
''Open App.Path & "\print.txt" For Output As #1
Open "LPT1:" For Output As #1 ///////我把上面那一句替換成這一句,可以打數字字母,但是不能列印中文,如果我按原來的還是把它寫到一個txt檔案中用dos命令使用列印機卻可以列印中文,列印機編碼已經調為UTF-8
'回圈列印
'外層回圈
Dim strPrint() As String
strPrint = Split(printstr, "$")
Dim arrLen As Integer
arrLen = UBound(strPrint) - LBound(strPrint) + 1
uj5u.com熱心網友回復:
修改成com1 埠,還是先吧內容存到一個 print。txt檔案中 在轉換格式 搞定然后輸送到列印機 搞定uj5u.com熱心網友回復:
Print #1, Chr(28) & "@" '設定漢字狀態uj5u.com熱心網友回復:
我用的是 艾麗列印機 不是斑馬的uj5u.com熱心網友回復:
Print #1, "A15,15,0,8,1,1,N," & Chr(34) & "合同:" & Chr(34)
Print #1, Chr(13) + Chr(10)
Print #1, "A100,20,0,4,1,1,N," & Chr(34) & arrPrint(0) & Chr(34)
Print #1, Chr(13) + Chr(10)
你能 給我說說 "A15,15,0,8,1,1,N," & Chr(34)中的每個字符代表是啥嗎? 這個是斑馬列印機上的,列印機還沒
拿到,沒法 看效果, 所以只能先問問你 我好先調調
uj5u.com熱心網友回復:
為什么不使用Printer物件?
uj5u.com熱心網友回復:
我貼出的代碼是EPSON針打的,各種列印機控制命令可能有不同,需要看產品說明書.
uj5u.com熱心網友回復:
哦 謝謝啊, 你們主要是做的什么業務啊?不會是主要是用vb吧uj5u.com熱心網友回復:
LZ 您好,請問你用的是斑馬列印機還是艾麗列印機,通信使用的以太網嗎?還有就是那個配置列印機介面的ini 檔案可否貼出來看看,謝謝!uj5u.com熱心網友回復:
......為何不用printer物件呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/122856.html
上一篇:查詢出現記憶體溢位
下一篇:演算法求破解
