如何在VBA中使用UTF-8编码

3
在Excel 2013中,是否可以在代码窗格中输入Unicode字符?例如:
Select Case Work(str)
   Case "◊ Engineering", "◊ Woodworking", "◊ Technician"
   'Do Something
End Select

注意:UTF-8是Unicode字符集的几种字符编码之一。另一种是UTF-16。Excel和VBA原生支持UTF-16(自1990年代以来)。 (但不幸的是,正如您发现的那样,VBA编辑器不使用Unicode)。因此,这个问题与UTF-8无关。 - Tom Blodget
这个回答解决了你的问题吗?如何在Visual Basic编辑器中输入Unicode货币字符 - user202729
2个回答

6
您可以使用ChrW函数来实现这一点:
Select Case Work(str)
   Case ChrW(9674) & " Engineering", ChrW(9674) & " Woodworking", ChrW(9674) & " Technician"
   'Do Something
End Select

您可以按照以下方式进行测试,例如:
Sheet1.[A1].Value = ChrW(9674)

这将把你的字符放在 Sheet1 的单元格 A1 中。

ChrWCharCode 参数是一个 Long 类型,用于标识字符,但不允许大于 65535(十六进制值为 &HFFFF)的值。您可以在 Get UniCode characters with CharCode greater hex FFFF 中找到六种系统化的方法来克服这个限制。 - T.M.

3

您可以使用 Chr 或 ChrW 函数。

Chr 的有效范围是 0 到 255,ChrW 的有效范围为 -32768 到 65535。

示例:

ChrW(9608)

或者

ChrW(&H2588)

&H的前言表明2588是一个十六进制数,在charmap中可以找到相关信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接