Excel VBA質問箱 IV

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

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


21748 / 76734 ←次へ | 前へ→

【60375】Re:日本語入力の制御
発言  neptune  - 09/2/15(日) 11:46 -

引用なし
パスワード
   ▼山ちゃん さん:
こんにちは

ichinose さんではありませんが。

>そもそも、こんなまどろっこしい手法に至ったのは、InputBox関数自体にIMEを制御する機能がないからなのです。
なら、ご自分の好みのinputboxをuserformで自作する事をお勧めします。

sendkeyは動作を保障されたコマンドではないので100%を求めるのはそもそも
酷と思います。ActiveなWindowに送るコマンドですから。

>一番大きな疑問はこれなんです。私のコードでどこかにブレークポイントを設定し、そこからステップ毎に動かすと思い通りの結果が得られるのです。
>私のコードでうまく行かないのはオープン当初だけで、後には全て思い通りに行くのです。
自信は無いですが、IMEってのは現在ActiveなWindowに対して制御されるため
の挙動ではないでしょうか?コンパイル時の挙動と、コンパイル後の挙動では
違ってきても不思議ではないと思います。

>
>まるっきしサラにして、InputBox関数のIMEを制御するような手法を出して頂けたら。
InputBox関数の仕様としてIME操作の機能を持ってないのですから、
100%を求めるとなると、やはりmessageをフックするとかの手法になるかと
思います。
が、ExcelVBAではサブクラスという手法そのものが実用に耐えません。
・・・理由は割愛します。
(InputBox関数で出来るかどうかは試した事ありませんので可不可は判りません)

最初に書いたようにUserFormで自作するのが一番楽チン簡単と思います。

参考
プラットフォーム SDK
Input Method Editor (IME)
ht tp://msdn.microsoft.com/ja-jp/library/cc422019.aspx
[XL95]日本語入力システムのオン/オフを制御する方法
ht tp://support.microsoft.com/kb/407890/ja

4 hits

【60365】日本語入力の制御 山ちゃん 09/2/13(金) 16:22 質問
【60368】Re:日本語入力の制御 ichinose 09/2/14(土) 14:48 発言
【60374】Re:日本語入力の制御 山ちゃん 09/2/15(日) 10:06 発言
【60375】Re:日本語入力の制御 neptune 09/2/15(日) 11:46 発言
【60381】Re:日本語入力の制御 Abyss 09/2/15(日) 16:14 回答
【60383】Re:日本語入力の制御 ichinose 09/2/15(日) 20:18 発言
【60385】Re:日本語入力の制御 山ちゃん 09/2/16(月) 1:27 お礼
【60386】Re:日本語入力の制御 訂正 ichinose 09/2/16(月) 6:48 発言

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