dポイントプレゼントキャンペーン実施中!

Web上のファイルをダウンロードするアプリをvbaで作っています。
以下を参考にしました。
https://www.vba-ie.net/element/subroutine-filedo …
https://okwave.jp/qa/q8035721.html

しかしながら添付図の様に保存ボタンの出るものはどうしたらよいでしょうか。
色々試した所、Web上に載っている画像やファイルなら、
直接 URLDownloadToFile 関数でURLからファイルにできます。
『ダウンロードすると危険が』などのセキュリティの警告ダイアログは、
SendKeysなどで<OK>ボタンを押すことができます。

ですが図の部分が突破できません。
おそらく実体のファイルは別の場所にあり、
保存ボタンによってスクリプトが動いてダウンロードさせる仕組みだと思います。
保存ボタンですらIEが内部で表示させているようです。

IEのオブジェクト変数を調べ、Webの情報から
ファイルのURLを知ることができませんでした。

保存ボタンの次に進むにはどうしたらよいでしょうか。
教えてください。よろしくお願いします。

「VBAでIEのファイルを自動的にダウンロ」の質問画像

質問者からの補足コメント

  • アドバイスありがとうございます。
    ここまでやってみましたが、保存ボタンのアンカーエレメントは存在しませんでした。
    やはりIEが画面の中で別物で出しているダイアログのようです。
    存在しないアイテムにクリックイベントは発行できないですね。
    Dim wHtBody As HTMLBody
    Set wHtBody = wIeObjc.body
    For iix = 0 To wHtBody.All.length
    If TypeName(wHtBody.All.Item(iix)) = "HTMLAnchorElement" Then
    Debug.Print (iix + 1) & " " & wHtBody.All.Item(iix).title & _
    " " & wHtBody.All.Item(iix).innerText
    End If
    Next

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/04/15 21:48

A 回答 (1件)

Web上の物は仕組みがバラバラなので対象のサイトによって対応を変えないとダメです。


対象のURLを提示していただかないと具体的な対応は不可能だと思います。

もしかしたら SendKeys で [Alt]+[S] でどうにかなるかもしれません。
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
目的は会社で社内ホームページに掲載された資料の
ファイルダウンロードまでの完全自動化なのです。

対象のURLを提示と言うのはなかなか例がないのですが、
YoutubeのURLを貼るとそこからMP3(音声)を落とせると言うサイトがあり、
ここでして、URL貼り付け、スタートボタンを押すと、
ダウンロード開始となります。
https://www.onlinevideoconverter.com/ja/video-co …

しかしながらこれを例として説明して、
サイトが閉鎖されても困るのです。
まあここのサイトを自動化するのではなく、あくまでも目的は会社のサイトの
ダウンロードなので、例として載せました。
Windows7 だとまったく同じ<保存>ボタンが出ます。
診断の程、よろしくお願いします。

お礼日時:2018/04/15 11:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!