在用vba编写打印发票的小程序时,发现①~⑩ ⑴~⒇ ⒈~⒛ 等序号显示没问题,而⒜~⒵ Ⓐ~Ⓩ ⓐ~ⓩ ⓪ ⓫~⓴ ⓵~⓾等字符在代码编辑器里是显示不出来的,显示一个?
刚开始把字符藏在sheet的某个单元格里到要用时再去取,后来在网上找到一个uniCode双字节字符转字符串的函数非常好用,实质就是调用了JavaScript里的unescape()字符串解码函数,分享如下:
Function strUnicode(s As String) As String
With CreateObject("MSScriptControl.ScriptControl")
.Language = "JavaScript"
strUnicode = .Eval("unescape('" & s & "');")
End With
End Function
Sub Test() '输出 \u249C ~ \u24FF 等在代码编辑窗口里显示?的双字节字符
For i = 156 To 255
Cells(i - 155, 1) = VBA.Hex(i)
Cells(i - 155, 2) = strUnicode("\u24" + VBA.Hex(i))
Next
End Sub
本文介绍如何在VBA中处理特殊字符如Ⓐ~⓾,通过uniCode函数实现Unicode转字符串,以解决在打印发票小程序中字符显示问题。
3392

被折叠的 条评论
为什么被折叠?



