Макрон в редакторе VBA - PullRequest
0 голосов
/ 15 октября 2008

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

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

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

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

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

Приветствия

Ответы [ 2 ]

3 голосов
/ 15 октября 2008

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

Mid(strclip, markloc, 1) = ChrW(257)
0 голосов
/ 15 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...