- 締切済み
VBAでのWebダウンロード制御ができない
Windows7 IE10 の環境でEXCEL VBAからWebのダウンロードボタンを押すところまではできてますが、 通知バーのハンドルを取得できずに困っています。 以下のFindWindowのパラメータが悪いと思うのですが、何を指定すればいいのかわかりません。 ご教授、よろしくお願いします。 Do DoEvents p_lngFindWnd = FindWindow("#32770", "保存") lCntloop = lCntloop + 1 Loop While (p_lngFindWnd = 0 And lCntloop < 10000)
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kumatti1
- ベストアンサー率60% (73/121)
> AccessibleObjectFromWindow > でオブジェクトが取得できません。 リンク先はVB用なのでVBA用に直さないと。UI Automationでいいのでは。
- kumano_SEC
- ベストアンサー率100% (6/6)
こんにちは、的外れだったら無視して下さい。 通知バーが表示された以後、 保存(S) だったかと思います。 SendKeys "%s",True これで、予め設定されたフォルダにダウンロードされるはずです。 但し、通知バーが出たかどうかの同期をとるのが難しいので、 sleep 10000 など、多めに待ち時間をとればとりあえずは動くと思います。
- kumatti1
- ベストアンサー率60% (73/121)
そもそも通知バーはトップレベルウィンドウではありませんし、保存ボタンはウィンドウではありません。 IAccessibleか、UI Automationで操作する事になるのではと。 http://okwave.jp/qa/q8035721.html http://okwave.jp/qa/q8121989.html
お礼
やってみていますが、なかなかうまくいきません。 AccessibleObjectFromWindow でオブジェクトが取得できません。 Sendkeysの方法の方が簡単なんですが、 タスクスケジューラから起動したときに 別の箇所がクリックされてしまいます。
お礼
回答ありがとうございます。 SendKeys "%s",True ではメニューの「セーフティー」が押されてしまいうまくいきませんでした。