• 締切済み

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)

みんなの回答

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.3

> AccessibleObjectFromWindow > でオブジェクトが取得できません。 リンク先はVB用なのでVBA用に直さないと。UI Automationでいいのでは。

回答No.2

こんにちは、的外れだったら無視して下さい。 通知バーが表示された以後、 保存(S) だったかと思います。 SendKeys "%s",True これで、予め設定されたフォルダにダウンロードされるはずです。 但し、通知バーが出たかどうかの同期をとるのが難しいので、 sleep 10000 など、多めに待ち時間をとればとりあえずは動くと思います。

wcup2002
質問者

お礼

回答ありがとうございます。 SendKeys "%s",True ではメニューの「セーフティー」が押されてしまいうまくいきませんでした。

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.1

そもそも通知バーはトップレベルウィンドウではありませんし、保存ボタンはウィンドウではありません。 IAccessibleか、UI Automationで操作する事になるのではと。 http://okwave.jp/qa/q8035721.html http://okwave.jp/qa/q8121989.html

wcup2002
質問者

お礼

やってみていますが、なかなかうまくいきません。 AccessibleObjectFromWindow でオブジェクトが取得できません。 Sendkeysの方法の方が簡単なんですが、 タスクスケジューラから起動したときに 別の箇所がクリックされてしまいます。

関連するQ&A

専門家に質問してみよう