Я программирую VBA (7.0) в Excel 2010 и пытаюсь создать макрос, который изменит строковую переменную (содержащую кандзи) в ее составляющие Хираганы. Насколько я могу судить, для этого не существует специальных методов VBA. Следовательно, я предполагаю, что это можно сделать, - попытаться подражать кнопке [henkan] 「変 換」 на японской клавиатуре.Программирование японской клавиатуры «Henkan» Кнопка 「変 換」
Для кнопок, не привыкших к японским клавиатурам, кнопка 「変 換」 используется для изменения составного Hiragana, как написано, в состав Kanji (аналогично выделяя существующий текст и нажав на него, будет предложено изменить его на другие кандзи как так как это составляющая Хирагана или Катакана). Нажатие кнопки приведет к отображению списка из IME, в котором перечислены возможные варианты выбора для вашей записи.
я собрал из here и here что сканкод кнопки в вопросе 79.
Ввод 1 + 1 вместе (получение 3) и пытающийся код ниже, не дали никаких результатов.
Private Sub test_Click()
Sheets("Main").Range("A1").Select '<--- A1 contains a Kanji Compound
Application.SendKeys (79) '<--- Both (79) and ("79") were tried
End Sub
я заметил, есть следующие функции VBA (которые могут в конечном итоге помогает с конечным результатом), но они, кажется, не помогает ситуации.
- StrConv (Может конвертировать хирагана <> катакана, но не кандзи)
- Фонетика
- .Add (Можно добавить чтение кандзи (как фуригана), однако это требует участия пользователя и не автоматический).
- .CharacterType (Возвращает или задает тип фонетика; хирагана, катакана и т.д.)
- IME (в основном используется для установки правила ввода)
КОЛЛЕГА предположил, что я, возможно, потребуется посмотрите на IME API, чтобы увидеть, во-первых, если я могу получить к нему доступ (разрешения с API), а во-вторых, если он даст мне знать способ доступа к ключу. Однако мой опыт работы с API (особенно IME) ничтожен.
Существует ли какой-либо VBA-способ подражания процессу кандзи -> Хирагана (требуется только одностороннее преобразование кандзи в Хирагану)?
Если этого не произошло, есть способ, который может отправить кнопку 「変 換」 и выбрать опцию Hiragana?
не так просто 'Application.SendKeys (" {CONVERT} ")'? –
@DirkReichel Не то, что я могу видеть. Я получаю сообщение об ошибке «Метод» SendKeys объекта «_Application»]. Если я не ошибаюсь. Вы хотите получить удар по кусочку кода? –
было LOOONG время назад ... я помню что-то вроде этого специального ключа, такого как '{UP}' ... нужно искать его снова ... может занять некоторое время (я все еще помню, что это было похоже на ад) также был для VB, а не VBA:/ –