| 
    
     |  | こんばんは。 
 
 >
 >そもそも、こんなまどろっこしい手法に至ったのは、InputBox関数自体にIMEを制御する機能がないからなのです。
 これは、私もUserformを使って、Inputboxを自作する方法が適当だと思いますねえ!!
 
 
 >
 >SendKeys "{kanji}"はIMEをオン/オフするだけですよね?ブックのオープン当初では、これでうまくいきます。ところが私のこのUserForm1は何度も使用されるのです。対になったサブルーチンIMEoffがあり、メールアドレスなどを要求させるのです。
 
 {kanji}では、そうなりますね!!
 
 
 >
 >Me.Hideを入れただけで、うまく行くのはなぜなのか釈然としない。ちょっと説明が欲しいなあ。
 
 ユーザーフォームがモーダルで表示されている状態では、入力規則の設定では、
 IMEのモード変更は簡単なテストコードでは出来ませんでした。
 Me.Hideの実行する順序の変更は、このテスト結果からの推測に過ぎません。
 
 
 >私のコードでうまく行かないのはオープン当初だけで、後には全て思い通りに行くのです。
 このうまくいくという手順がわかりませんが、私の環境では、
 何度繰り替えしても、出来るものは出来るし、出来ないものはできないと言う結果でした。
 これを明確にするには、もっと山ちゃんさんと私の扱っているUserformの同期を
 取る必要があるかもしれません。Win2000&Excel2002
 
 因みにUserformとIMEではテキストボックスのImemodeだって、うまく作動しない場合が
 ありますよ!!
 Frameに配置すると、IME関連は、是正されますが、これはこれで
 別の問題が生じたりして、厄介です。
 
 
 >まるっきしサラにして、InputBox関数のIMEを制御するような手法を出して頂けたら。
 
 これは、繰り返しますが、私も Userformで自作して----アドイン登録し、汎用的に使えるようにする
 
 ですね!!
 
 
 今回の事との因果関係はないと思いますが、
 モーダルモードのUserformを表示した状態で
 Application.Inputboxメソッドを使用すると、
 
 実行後のUserformがモーダルモードになっていると言う現象を確認しています。
 (今回は、Inputbox実行後に hideなので直接関係ないですけど)
 
 
 |  |