不懂就向大神求助!!将EXCEL表格内容生成二维码,中文却总是乱码怎么办
用网上找的小程序和小代码小改了一下,现在可以用宏把EXCEL表格已选择内容合并 将合并后内容生成一个二维码
但是现在用微信扫这个码中英文都没问题
用搜狗浏览器扫后中文全是乱码,悲剧的是我们公司要扫码的机器扫了中文也是乱码
我猜是不是对UTF-8不支持的原因?可是我将EXCEL保存成UTF-8后生成的码依然乱码
求大神帮帮我
用的是QRMAKER.exe
下面是制码小软件的下载地址
http://pan.baidu.com/s/1i3slZeP
如果有别的办法,不用这个小软件也行,求大神教教我!!
现在代码如下:
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Point01 As Long, Point02 As Long, Point03 As Long
Private i As Integer
Sub makeQRcode()
Dim x, y, i As Integer
x = ActiveCell.Row
y = ActiveCell.Column
p = Selection.Rows.Count
q = Selection.Columns.Count
For u = 1 To p Step 1
a = Cells(x, y)
For i = 1 To q - 1 Step 1
Cells(x, y) = Cells(x, y) & "##" & Cells(x, y + i)
Next i
Cells(x, y + q + 1) = Cells(x, y)
If Dir("D:\QRmake.exe") = "" Then
MsgBox "QRmake.exe文件丢失,请确认!", vbCritical, "外部程序调用"
Exit Sub
End If
i = MK_QR(Cells(x, y), "10", "3", x, y, q)
Cells(x, y) = a
x = x + 1
Next u
End Sub
Function MK_QR(Enc_Dat, ECL, SIZ, x, y, q)
Dim F_Name As String
F_Name = "[" & ActiveWorkbook.Name & "]" & ActiveSheet.Name & "!" & ActiveCell.Address
Point01 = Shell("""" & "D:\QRmake.exe""" & " /S" & SIZ & " /L" & ECL + 1 & " /O""" & ThisWorkbook.Path & "\" & F_Name & ".bmp"" /T""" & Enc_Dat & """")
Point02 = OpenProcess(&H100000, 1, Point01)
Point03 = WaitForSingleObject(Point02, &HFFFFFFFF)
Point03 = CloseHandle(Point02)
Point01 = Empty
Point02 = Empty
Point03 = Empty
Cells(x, y + q).Select
With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & F_Name & ".bmp")
.Left = ActiveCell.Left
.Top = ActiveCell.Top
End With
'将已经生成的二维码图像删除
Kill (ThisWorkbook.Path & "\" & F_Name & ".bmp")
ActiveCell.Offset(0, -1).Select
End Function