質問: "ダウンロード" Then objLINK2.Click Exit For End If Next ここで、「ファイルのダウンロード」メッセージ 開く(O) 保存(S) キャンセル が表示されるのですが、表示されたとたんにVBAから制御できなくなります。 どうすればボタンを押せるのでしょうか? なお、普通にIEオブジェクトを作ると、ダウンロードのボタンすら押せなかったので、 こちらの三流君様のページを参考にして、ユーザーフォームの中でIEオブジェクトを作っています。 よろしくお願いいたします。
回答: こんにちは。 この手の方法はIEの動作やPC環境によって、動作が微妙に変わることがあり、できる場合もあれば、できない場合もあるというのが私の感想です。 方法は2個あると思います。 既に回答がありますが、Sendkeyを使う方法です。 ただし、この方法が上記で言ったように、思うようにいかないので、 やたらと DoEventsを前後に入れてみたり、 For i = 1 to 1000 DoEvents Next i などど意味があるか分かりませんが、試したり Application.Wait(Now + vba.TimeSerial(0,0,5)) という方法も良く見かけるパターンです。 ただしいずれの方法でも、確実に動くかどうかが断言できない位 曖昧であると感じています。 そこで、もうひとつの方法をお勧め致します。 こちらはAPIを使ってダウンロードする方法です。 objLINK2をオブジェクトブラウザで確認(hrefかな?)すると リンク先が格納されているプロパティがあるので、それを上記のAPIで指定してやれば ダウンロードされるので、 必要に応じそれをShellなどで開いてあげればいいかと思います。 ダウンロードファイルはテンポラリにも保存できると思うので、 使い勝手まずまずです。