VB6・VBA関数メモ:IMEStatus関数

IMEStatus関数についてメモしておきます。

IMEの状態を取得する際に使用します。
IMEの設定はSendKeysステートメントを使えば少しだけできますが、
WindowsAPIを使った方が確実かと思います。


概要

IMEStatus
機能 IMEの状態を返す
引数 なし
戻り値 IMEの状態を表す数値 (Integer型)


IMEの状態を表す数値(国別情報が日本の場合)

定数名 説明
vbIMEModeNoControl 0 IMEを制御しません。(既定値)
vbIMEModeOn 1 IMEはオンの状態です。
vbIMEModeOff 2 IMEはオフの状態です。
vbIMEModeDisable 3 IMEは利用禁止状態です。
vbIMEModeHiragana 4 IMEは全角ひらがな入力モードです。
vbIMEModeKatakana 5 IMEは全角カタカナ入力モードです。
vbIMEModeKatakanaHalf 6 IMEは半角カタカナ入力モードです。
vbIMEModeAlphaFull 7 IMEは全角英数入力モードです。
vbIMEModeAlpha 8 IMEは半角英数入力モードです。


使用例

説明 記述例 出力
IMEの状態を取得
Dim str As String

Select Case IMEStatus
Case vbIMEModeNoControl: str = "未制御"
Case vbIMEModeOn: str = "オン"
Case vbIMEModeOff: str = "オフ"
Case vbIMEModeDisable: str = "利用禁止"
Case vbIMEModeHiragana: str = "全角ひらがな"
Case vbIMEModeKatakana: str = "全角カタカナ"
Case vbIMEModeKatakanaHalf: str = "半角カタカナ"
Case vbIMEModeAlphaFull: str = "全角英数"
Case vbIMEModeAlpha: str = "半角英数"
End Select

Debug.Print str
全角ひらがな


応用例

説明 記述例 出力
IMEがオフの場合はオンにする
Debug.Print IMEStatus
If IMEStatus = vbIMEModeOff Then
	Call SendKeys("{KANJI}", True)
	DoEvents
End if
Debug.Print IMEStatus
 2 
 4 
IMEがひらがな入力でない場合、ひらがな入力にする
Debug.Print IMEStatus
If IMEStatus <> vbIMEModeHiragana Then
	Call SendKeys("{KANA}", True)
	DoEvents
End if
Debug.Print IMEStatus
 7 
 4 


コメント
コメントする








    
この記事のトラックバックURL
トラックバック