• ベストアンサー

EXCELマクロでネットから資料をダウンロードしたい

EXCELマクロを使って、Web上にある資料(ZIPファイル。毎日100個から300個)をダウンロードしたいと思っています。 EXCELの特定のセルに、縦にハイパーリンクを続けてコピーするところまでは手で行おうと思っています。 その後、 Range(\"F1\").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True で、ダウンロードすることまではできるのですが、 「保存しますか?」のダイヤログと、実際のセーブする時のダイヤログを止められません。 エラーでない限り、自動的に「はい」を選択し、次に進むようにさせたいのですが。 Application.DisplayAlerts = False でダイヤログを出さない。。。ということもできませんでした。 似たような操作をしている例はないか検索したのですが、見つかりませんでした。 素人な質問ですみません。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.4

Application.Wait Time:=Now + TimeValue("00:00:05") SendKeys "{LEFT}", True SendKeys "{ENTER}", True Application.Wait Time:=Now + TimeValue("00:00:03") SendKeys "{TAB 2}", True SendKeys "{ENTER}", True '次のダウンロードへ とかにしてWaitを入れてあげてください APIのほうはちょっとわかりません。

mimimi_jp
質問者

お礼

全部はうまくは動かなかったのですが、上記の途中までは無事動き、半分手でクリックしながら、なんとか作業のピークを乗り越えることができました。ありがとうございました。

その他の回答 (3)

  • sippo06
  • ベストアンサー率25% (7/27)
回答No.3

こんにちわ URLDownloadToFile API関数を使うとできますよ。

mimimi_jp
質問者

お礼

ありがとうございます。まだ試せていませんが、もう少しスキルがついたらチャレンジしてみます。

  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.2

比較的簡単にやるとすると、Sendkeysステートメントですね。 ただ、応答時間などを考えて余裕を持って設計する必要があるでしょう。

mimimi_jp
質問者

お礼

ありがとうございます。 SendKeys "{LEFT}" SendKeys "{ENTER}" SendKeys "{TAB 2}" SendKeys "{ENTER}" と入れてみたのですが、ダイヤログには届かないようです・・。

回答No.1

勘だけど、あのダイアログは、Excelから出してないから無理じゃないの? ダウンロード用のプログラムじゃ駄目な理由があるのかしら? ダウンローダーで検索すればいくらでもあると思うのだが。

mimimi_jp
質問者

お礼

ありがとうございます。 確かに今のところ、ダイヤログに届く方法が見つかっていません。 EXCELにしたいのは、ダウンロードしたファイルや作業履歴をEXCELで管理したいからなのですが・・・。