将vba字符串发送到excel/outlook时如何保留变音符号?

Seb*_*ian 6 excel vba

我想听听你对这个问题的看法。每当我想发送包含我的母语变音符号到 excel 或 Outlook 的 vba 字符串时,它就会回到我的脑海中。

\n\n

我已经更改了 vba 编辑器上的字体,因此它在代码中显示了正确的标记,并且在工作表/Outlook 消息上手动输入这些标记时也可以正常工作。当执行宏时,就会出现问题,就像办公室错误地编码了 vba 发送到程序的操作一样。

\n\n

示例:\n我可以在单元格中键入“\xc5\x81”字母。

\n\n

我也可以在编辑器中输入:

\n\n
Sub example()\nRange("A1").Value = "\xc5\x81"\nEnd Sub\n
Run Code Online (Sandbox Code Playgroud)\n\n

但执行宏时,范围A1显示“\xc2\xa3”。

\n\n

您知道问题出在哪里吗?

\n\n

顺便说一句,当我将代码从 vba 复制到此窗口时,也发生了同样的情况。(代码中的“\xc5\x81”已转换为“\xc2\xa3”。

\n\n

非常感谢!\n塞巴斯蒂安。

\n

Rob*_*zie 2

如果您知道要放入单元格中的字符的 Unicode 值,请使用 ChrW 函数,例如对于带有变音符号的 A:

ActiveSheet.Cells(1, 1).Value = ChrW(&H00c4)
Run Code Online (Sandbox Code Playgroud)

请注意,函数的输入是十六进制的。对于您的角色,您想要尝试找到 Unicode 值并在其前面加上 &H 前缀,让 VBA 知道您正在传递一个十六进制值。