Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


31918 / 76734 ←次へ | 前へ→

【50059】Re:IMEパッドのソフトキーボードを表示したい
発言  neptune  - 07/7/6(金) 13:54 -

引用なし
パスワード
   ▼kobasan さん:
Excelで動くのが出来ました。
シート上にフォームのボタンを作って、IMETestを割り当てて実行してみて下さい。

Option Explicit

Public Declare Function ImmGetContext Lib "imm32.dll" _
  (ByVal hWnd As Long) As Long
Public Declare Function ImmReleaseContext Lib "imm32.dll" _
  (ByVal hWnd As Long, _
  ByVal hIMC As Long) As Long
Public Declare Function ImmSetConversionStatus Lib "imm32.dll" _
  (ByVal hIMC As Long, _
  ByVal dw1 As Long, _
  ByVal dw2 As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function ImmSetOpenStatus Lib "imm32.dll" _
  (ByVal hIMC As Long, ByVal b As Long) As Long
Public Declare Function ImmGetOpenStatus Lib "imm32" _
  (ByVal hIMC As Long) As Long
  
Public Const IME_CMODE_SOFTKBD = &H80     'ソフトキーボードモード
Public Const IME_SMODE_AUTOMATIC = &H4

'IMEモード定数
Public Const IME_CMODE_OFF = &H0&
Public Const IME_CMODE_NATIVE = &H1&

Public Const XLCLASS As String = "XLMAIN"


Sub IMETest()
Dim IMC As Long
Dim lngResult As Long
Dim lhWnd As Long

  'ここはExcelのHWNDを取得。
  lhWnd = FindWindow(XLCLASS, CStr(Application.Caption))
  Debug.Print lhWnd
  IMC = ImmGetContext(lhWnd)
'  IMEがOffならOnにする。
  If ImmGetOpenStatus(IMC) = IME_CMODE_OFF Then
    Call ImmSetOpenStatus(IMC, IME_CMODE_NATIVE)
  End If
  lngResult = ImmSetConversionStatus(IMC, IME_CMODE_SOFTKBD, IME_SMODE_AUTOMATIC)
  ImmReleaseContext lhWnd, IMC
End Sub

多分大丈夫と思いますが。。。。、実は先ほどUPしたものを再度確認していたら
動かなかったので、削除して、訂正したものです。
2 hits

【50046】IMEパッドのソフトキーボードを表示したい kobasan 07/7/5(木) 22:37 質問
【50055】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/6(金) 9:55 発言
【50059】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/6(金) 13:54 発言
【50066】Re:IMEパッドのソフトキーボードを表示した... kobasan 07/7/6(金) 22:04 発言
【50067】Re:IMEパッドのソフトキーボードを表示した... kobasan 07/7/7(土) 0:21 発言
【50069】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/7(土) 10:36 発言
【50071】Re:IMEパッドのソフトキーボードを表示した... kobasan 07/7/7(土) 18:21 お礼
【50073】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/7(土) 19:42 発言

31918 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free