Excel VBA質問箱 IV

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

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


6652 / 13644 ツリー ←次へ | 前へ→

【43961】入力状態の取得 ぴかる 06/10/31(火) 11:06 質問[未読]
【43962】Re:入力状態の取得 りん 06/10/31(火) 11:56 回答[未読]
【43965】Re:入力状態の取得 neptune 06/10/31(火) 12:13 回答[未読]
【43967】Re:入力状態の取得 neptune 06/10/31(火) 12:16 発言[未読]
【43968】Re:入力状態の取得 ぴかる 06/10/31(火) 12:40 お礼[未読]
【43984】Re:入力状態の取得 りん 06/10/31(火) 18:39 回答[未読]
【44008】Re:入力状態の取得 ぴかる 06/11/1(水) 8:59 お礼[未読]

【43961】入力状態の取得
質問  ぴかる  - 06/10/31(火) 11:06 -

引用なし
パスワード
   こんにちは。

パソコンの状態が、英数入力状態かカナ入力状態かを取得したいと思っています。
よろしくお願い致します。

【43962】Re:入力状態の取得
回答  りん E-MAIL  - 06/10/31(火) 11:56 -

引用なし
パスワード
   ぴかる さん、こんにちわ。

>パソコンの状態が、英数入力状態かカナ入力状態かを取得したいと思っています。
>よろしくお願い致します。
IME限定ですが、VBAのIMEStatus関数で取得できます。

Sub test()
  Dim A$
  Select Case IMEStatus
   Case 2: A$ = "オフの状態"
   Case 4: A$ = "全角ひらがな"
   Case 5: A$ = "全角カタカナ"
   Case 6: A$ = "半角カタカナ"
   Case 7: A$ = "全角英数字"
   Case 8: A$ = "半角英数字"
   Case Else: A$ = "その他"
  End Select
  MsgBox A$, vbInformation, "IME Status"
End Sub

こんな感じです。

【43965】Re:入力状態の取得
回答  neptune  - 06/10/31(火) 12:13 -

引用なし
パスワード
   ▼ぴかる さん:
>パソコンの状態が、英数入力状態かカナ入力状態かを取得したいと思っています。
APIになりますが、ImmGetConversionStatusを使用すれば出来たと思います。
ImmGetContext、ImmReleaseContext と共にグーグルで検索してみてください。
たぶんサンプルはヒットすると思います。私に手持ちはありません。

【43967】Re:入力状態の取得
発言  neptune  - 06/10/31(火) 12:16 -

引用なし
パスワード
   りんさんのような方法があったのか!知らんかったです。

【43968】Re:入力状態の取得
お礼  ぴかる  - 06/10/31(火) 12:40 -

引用なし
パスワード
   りんさん、neptuneさん、こんにちは。ご回答ありがとうございます。

VBAのIMEStatus関数やってみました。なぜかIME環境NGでATOK環境OKでした。
ただ私の質問が悪かった様です。日本語入力の際、ローマ字入力なのかカナ
入力なのかを知りたかったんです。すみません・・・
neptuneさん紹介のAPIも時間をとって調べてみたいと思います。

【43984】Re:入力状態の取得
回答  りん E-MAIL  - 06/10/31(火) 18:39 -

引用なし
パスワード
   ぴかる さん、こんばんわ。

>ただ私の質問が悪かった様です。日本語入力の際、ローマ字入力なのかカナ
>入力なのかを知りたかったんです。すみません・・・

APIを使って、かなキーが押されているかを判定。

Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Sub test()
  Select Case GetKeyState(&H15)
   Case 1:  MsgBox "かな入力モード"
   Case Else: MsgBox "ローマ字入力モード"
  End Select
End Sub

こんな感じです。

「英数」「かな」と書いてあったので勘違いしてました。
ごめんね。

【44008】Re:入力状態の取得
お礼  ぴかる  - 06/11/1(水) 8:59 -

引用なし
パスワード
   りんさん、おはようございます。

確認したところ、バッチリでした。ありがとうございました。
もし可能でしたら、カナ入力であった場合、ローマ字入力に
変更したいと思っています。

最近、りんさんの登場が多くなってきているので、りんさん
から回答が来ないかなと期待してました。またこうやって、
質問して回答を頂けるのを嬉しく思います。これからもよろ
しくです。「ゴミ旅」もROMってますよ!

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