|    | 
     ▼いったく さん: 
 
>具体的には、エクセル上のデータを「sendkeys」によって 
>基幹システムの入力エリアへ自動貼り付けを行おうと思いました。 
>その際基幹側の入力が全角モードになっていると貼り付けが正しく 
>行われないので、入力モードを制御しようと考えた次第です。 
理由は「sendkeys 不具合」でググってみるとわかりますが、業務で使うので 
あればsendkeysの使用は避けた方が賢明です。 
また、恐らくsendkeysを使うからIME制御も必要になっているんだと思います。 
 
>ほかの手段がないか、検討したいと思います。 
手法としては正しいwindowのHWNDを取得、それに対して、IME制御やtext設定 
を行うという事になると思います。 
パッと思いつく方法としては、 
・spy++(入手困難),winspector(フリーソフト)等でそのwindowのクラス名を取得、 
クラス名と位置関係等を取得して、そのwindowを確定する 
(IDから取得できるかもしれませんがVBからはやった事ないので出来るかどうか判らない) 
・必要ならIME制御(たぶんsendmessageなら不要と思う)。 
・sendmessageで WM_SETTEXT を送りテキストを変更する 
という手順になろうかと思います。 
 
 | 
     
    
   |