タイトル : Re: 子HWNDが存在しない!? 投稿日 : 2015/06/12(Fri) 09:24 投稿者 : 魔界の仮面弁士
> 現在VBAから どの VBA でしょうか? とりあえず、ユーザーの多そうな Excel VBA と仮定して回答します。 > これはどうしてもHWNDを取得することは不可能なのでしょうか? そもそも、HWND が存在しないのです。 HWND (ウィンドウハンドル)は、その名の通り「ウィンドウ」に対する識別子です。 『ウィンドウレスコントロール』には、ウィンドウハンドルがありません。 MSForms の場合、テキストボックスさえもウィンドウレスです。 (VB6 のテキストボックスはウィンドウですが) MSForms でウィンドウと呼べるのは、「フォーム」と「リストボックス」、 それに、「(コンボボックスの)ドロップダウンリスト部」ぐらいでしょうか。 > OKボタンをクリックするという自動化なのですが、 であれば、UIAutomation あるいは IAccesible で OK ボタンを取得し、 DoDefaultAction メソッドを呼び出せばクリックできますよ。 > この業務アプリをSendkeyで操作することにも Sendkey ではなく SendKeys ですよね。 > 気になる点が一つありますが、この業務アプリは通常のユーザーでの起動ではないように思えます。 MetaFrame/XenApp とか? |