こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VB6 IEのファイルダウンロード情報

VB6にて、IEの名前を付けて保存にてファイルをダウンロードした際、完了時に実際に保存したファイル名と、保存先のフォルダパスを取得することは可能でしょうか。
ダウンロードしたファイルを、VB6のプログラムで変換取込したいと考えています。

VB6からCreateObjectにてIEを起動し、監視することで可能かと考えたのですが、「DownloadComplete」イベント等はファイル名と実際の保存先を指定する前に発生したりしてうまくいきませんでした。
ご存知の方いらっしゃいましたらよろしくお願いいたします。

環境:WindowsXP Pro
InternetExplorer8
VisualBasic6.0 SP6

下記サンプル  参照設定にて、「shdocvw.dll」(Microsoft Internet Controls)を追加
Dim WithEvents objIE As InternetExplorer
Private Sub form_Load()
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=7b9ba261-7a9c-43e7-9117-f673077ffb3c"
End Sub

サイトのダウンロードボタンを押して、名前を変更したりしてダウンロードを行い、完了後、その名前と保存先のフォルダパスが取得したいです。
実際には上記のサイトではなく、条件を指定してダウンロードを開始するのでVB上から直接ダウンロードを行う等はできません。
よろしくお願いいたします。

投稿日時 - 2012-05-22 17:17:45

QNo.7490057

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

面白いことをされる方だと思い、手持ちのソフトで
ドキュメントコンプリートや、ビフォアウィンドウナビゲート等を調べましたが、
名前を付けて保存する時にいずれもイベントが取得できませんでした。
つまり IEのコンポーネントからは取得できないのかもしれません。

昔よくやったのがコールバック関数? コールバックルーチンを作って、
無理やり『名前を付けて保存』のダイアログの情報を取得すると言う手法ですが、
技術的に難易度が高いのと、バグの可能性が多い、説明が難しい等により、
うまくお答えできなくて、申し訳ありません。

何か別の代替手法を考案する方法もあると思います。
そちらで検討されてはいかがでしょうか。

投稿日時 - 2012-06-02 08:46:31

あなたにオススメの質問