人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAのユーザーフォームにテキストボックスをつけてIMEモードのプロパティをIMEMODE ONにしておいたのですが、一度フォームをhideして、再びshowするとIMEMODEが無効になってしまいます。なぜそうなるのか、そしてそうならないためにはどうしたらいいか教えてください。

●質問者: hidebroken
●カテゴリ:コンピュータ 趣味・スポーツ
✍キーワード:hide ON エクセル テキスト プロパティ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ta2
●30ポイント

http://www.hatena.ne.jp/

はてな

実際に試して見ましたが、hide→showの後もimemodeは有効でした。

プロパティ内の設定だけではなく、コード内にもimemodeを設定している記述はないでしょうか?

◎質問者からの返答

わざわざありがとうございます。

すべて検索したんですが、コード内にあったのはそのフォームをShowする時にオンにするコードとフォームがアクティブになったときのイベントでオンにするコードがありましたが、コメントアウトしても結果は変わりませんでした。

うちのPCの問題なんでしょうか?たまにヤフーとか開いたときなどに、検索キーワードを入力する場所でIMEモードがオンにならなかったりするんですが、メモリの問題?(と勝手に思い)と思い立ち上げてるアプリケーションを閉じると直ったりします。

ただ、今回は開いているのはエクセルとVBEとこの質問ウインドウのみです。

そのフォームをいったん閉じるボタンで閉じてまたshowすれば、IMEは有効になるんですが、hideだとIMEモードに影響があるんでしょうか。謎です。


2 ● aki73ix
●30ポイント

http://powersoft.ashisuto.co.jp/technicalservice/techdocument/on...

プログラムを組んでいても確かにそうなるのですが、通常のアプリケーションを使っていてもよく起こる現象ですよね^^;

アプリケーションのコントロールごとに、IMEのプロセスが起動するわけですが、リソース不足でIMEの設定が保存できないのが理由ではないかなと思っています

WindowsMessageを拾うか、Show/Hideの時にIMEMODEの値を保存、復帰してみてはいかがでしょうか?

http://homepage1.nifty.com/MADIA/vb/vb_bbs/200306_03060029.html

これはあまり無いかもしれませんが、imeModeプロパティが正しく設定されていないのかもしれません、こちらのURLを参考にしてみてください

http://www.mster.co.jp/visiosquare/cgi-bin/visbbs/mibbs.cgi?fo=a...

VISIO SQUARE

ただ、VBにはテキストボックスでIMEの設定をすると他のアプリケーションとは違って設定が他のテキストボックスと連動して変化してしまうという”仕様”があるそうです VCでは起こらないそうなので、このあたりも疑ってみた方がいいかも知れません

そのことが、こちらの掲示板に少しかかれていました

◎質問者からの返答

ありがとうございます。疑うポイントが広がってありがたいです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ