Макрон в редакторе VBA

Создал простую программу с использованием VBA, которую я могу использовать для просмотра словарного запаса на китайском языке.

До сих пор я немного работал, но столкнулся с огромной проблемой при вводе символа макрона, такого как «ā» (unicode 257). Конкретное приложение, над которым я сейчас работаю, включает изменение содержимого формы текстового поля, чтобы «а» можно было автоматически заменить при вводе в текстовое поле. Сама такая процедура проста — я могу заставить ее работать с символами пиньинь «а» и «а».

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

Предыдущий — это попытка использования функции Mid для замены одного символа в строке текстового поля символом пиньинь по соответствующей подсказке пользователя.

Проблема в том, что я не могу ввести "ā" в VBA! Я искал в Интернете, но это не кажется проблемой никому другому. Когда я нахожусь в редакторе VBA и набираю alt + 0257, ничего не происходит. Я также не могу копировать и вставлять из блокнота. Я готов отказаться от VBA и переделать это приложение на каком-то другом языке.

Ваше здоровье


person Community    schedule 15.10.2008    source источник


Ответы (2)


Вы можете использовать ChrW для генерации символов Unicode:

Mid(strclip, markloc, 1) = ChrW(257)
person Ozgur Ozcitak    schedule 15.10.2008

На моем компьютере не установлен ms-office, чтобы попробовать его.
Однако вы можете использовать функцию StrConv с параметром для Unicode (вместе с LCID), чтобы поместить содержимое Unicode в текстовое поле.

Обратите внимание, что элементы управления стиля VB6 не принимают значения Unicode.
Если вы создаете формы в редакторе VBA, он должен работать (поскольку он использует библиотеку Forms 2.0).

person shahkalpeshp    schedule 15.10.2008