| 
    
     |  | > まるっきしサラにして、InputBox関数のIMEを制御するような手法を出して頂けたら。 
 InputBoxはExcelアプリに対してModal動作をしますから、
 InputBox状態に入る前にExcelのIME状態を希望の状態に
 設定し、処理後に前の状態に戻す。
 
 この手順でよろしいかと思います。
 とりあえず、標準モジュールでのテストです。
 
 (Sample)
 
 Declare Function ImmGetContext Lib "Imm32" _
 (ByVal Hwnd As Long) As Long
 
 Declare Function ImmReleaseContext Lib "Imm32" _
 (ByVal Hwnd As Long, _
 ByVal Himc As Long) As Long
 
 Declare Function ImmGetOpenStatus Lib "Imm32" _
 (ByVal Himc As Long) As Long
 
 Declare Function ImmSetOpenStatus Lib "Imm32" _
 (ByVal Himc As Long, _
 ByVal fOpen As Long) As Long
 
 Sub aTest()
 
 Dim Hwnd As Long
 Dim IMC As Long
 Dim Flag As Long
 
 Hwnd = Application.Hwnd
 IMC = ImmGetContext(Hwnd)
 
 ' 現在のIMEOnOff状態を取得...
 Flag = ImmGetOpenStatus(IMC)
 
 ' IME Onの状態に設定...
 ImmSetOpenStatus IMC, 1&
 ImmReleaseContext Hwnd, IMC
 
 Application.InputBox "名前を入力してください。"
 
 ' 当初のIME状態に復帰 ...
 IMC = ImmGetContext(Hwnd)
 ImmSetOpenStatus IMC, Flag
 ImmReleaseContext Hwnd, IMC
 
 End Sub
 
 
 |  |