0

一直在使用 VBA 创建一个简单的程序,我可以用它来复习中文词汇。

到目前为止,我已经做了一些工作,但是在输入诸如“ā”(unicode 257)之类的宏字符时遇到了一个巨大的问题。我现在正在处理的特定应用程序涉及更改文本框表单的内容,以便在我在文本框中键入时自动替换“a”。这样的程序本身很简单——我可以让它与拼音字符“á”和“à”一起工作。

Select Case testchar
    Case "a"
    Mid(strclip, markloc, 1) = "ā"
End Select

前一个是尝试使用 Mid 函数在用户的适当提示下将文本框字符串中的一个字符替换为拼音字符。

挂断是我无法将“ā”输入VBA!我一直在寻找互联网,但这对其他人来说似乎不是问题。当我在 VBA 编辑器中输入 alt + 0257 时,什么也没有发生。我也不能从记事本复制粘贴。我准备废弃 VBA 并用其他语言重做这个应用程序。

干杯

4

2 回答 2

3

您可以使用 ChrW 生成 Unicode 字符:

Mid(strclip, markloc, 1) = ChrW(257)
于 2008-10-15T07:28:52.210 回答
0

我没有在我的机器上安装 ms-office 来试用它。
但是,您可以使用带有 Unicode 参数的 StrConv 函数(连同 LCID)将 unicode 内容放入文本框中。

请注意,VB6 样式控件不接受 unicode 值。
如果您在 VBA 编辑器中创建表单,它应该可以工作(因为它使用 Forms 2.0 库)。

于 2008-10-15T07:25:49.017 回答