アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルに入力する時 半角/全角漢字キーとALTキーを使って 半角数字にしたりローマ字入力にして漢字にしたりして切り替えるが、マウスで特定のマクロボタンを押すことにより その切り替え操作を簡便にできないものでしょうか、できるとすれば どのようにVBAでは記述するのでしょうか・。

A 回答 (4件)

>マウスで特定のマクロボタンを押すことにより


これ自体は、以下のコードを書き換えて、ご自身で設定できるレベルでないと、あまりお勧めしません。

'標準モジュール
'//
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32.dll" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long

Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Long
Const VK_MENU As Long = &H12
Const VK_KANA As Long = &H15
Const VK_CONVERT As Long = &H1C '使用していない
Const VK_KANJI As Long = &HF2 '使用していない
Const KEYUP As Long = &H2
Const EXTENDED_KEY As Long = &H1

'**************
Sub KanjiKeySet()
'IME起動
If IMEStatus() = 2 Then
 keybd_event VK_KANJI, 0, 0, 0
 keybd_event VK_KANJI, 0, KEYUP, 0
End If
End Sub
'**************
Sub RomajiKeySet() '
'ローマ字設定
If IMEStatus() = 4 Then 'IMEが起動した状態で
 keybd_event VK_MENU, 0, 0, 0
 keybd_event VK_KANA, 0, 0, 0

 keybd_event VK_KANA, 0, KEYUP, 0
 keybd_event VK_MENU, 0, KEYUP, 0
End If
End Sub
'//

本当は、これはExcelの範疇ではないのですが、今どきのIMEは、任意のどこかのキーに設定できます。ただ、私は、AutoHotKeyでの設定を勉強中です。
    • good
    • 0
この回答へのお礼

有難う ご丁寧に やってみます。 お詳しいですね!

お礼日時:2019/09/30 18:37

結局マウス使うなら、IMEツールバーを操作すればいいのでは?

    • good
    • 0

私は、「変換」キーに漢字モードのON/OFFを割り当てているので、「変換」キーを押すだけで切り替えできてます。

    • good
    • 0

>半角/全角漢字キーとALTキー


半角/全角キーだけをワンタッチすれば切り替えられますけど
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!