标签:
QRMaker如果想支持中文,可以将中文转为UTF8,然后用InputDateB直接传入Byte()
Option Explicit
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long
Private Const CP_UTF8 = 65001
Public Function UTF8_Encode(ByVal strUnicode As String) As Byte()
‘UTF-8 编码
Dim TLen As Long
Dim lngBufferSize As Long
Dim lngResult As Long
Dim bytUtf8() As Byte
TLen = Len(strUnicode)
If TLen = 0 Then Exit Function
lngBufferSize = TLen * 3 + 1
ReDim bytUtf8(lngBufferSize - 1)
lngResult = WideCharToMultiByte(CP_UTF8, 0, StrPtr(strUnicode), TLen, bytUtf8(0), lngBufferSize, vbNullString, 0)
If lngResult <> 0 Then
lngResult = lngResult - 1
ReDim Preserve bytUtf8(lngResult)
End If
UTF8_Encode = bytUtf8
End Function
Private Sub Command1_Click()
On Error GoTo Err_Exit
With QRmaker1
.ModelNo = 2
.CellPitch = 5
.CellUnit = 203
.QuietZone = 0
.InputDataB = UTF8_Encode(Text1.Text) ‘转为UTF8编码输入可以处理中文
.Refresh
End With
Exit Sub
Err_Exit:
‘Err.Raise Err.Number, Err.Source, Err.Description
MsgBox Err.Number & "|" & Err.Source & "|" & Err.Description
End Sub
标签:
原文地址:http://www.cnblogs.com/d47a2/p/5095136.html