- PR -

[ファイルのダウンロード][名前を付けて保存]ダイアログボックスの制御方法

1
投票結果総投票数:5
vb.net 1 20.00%
windows 4 80.00%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
やまざき おさむ
会議室デビュー日: 2007/01/17
投稿数: 3
投稿日時: 2007-01-17 14:02
@IT会議室をいつも参考にさせていただいており、アイディアや技術的面にてとてもプラスとなっており、皆様へ感謝いたしております。

さて早速ですが、このたび"VB2005"を利用しWebからのファイル自動ダウンロードアプリケーション(WindowsApplication)を作成いたしております。その中で、過去ログに似たような内容(参照元記事URL記載)はあったのですが、私の知識不足によりこちらを改良し現在作成しているプログラムへ組み込むことができずに、皆様のご助言をいただければと思い投稿させていただきました。以下に開発環境、動作OSを明記させていただきました。大変お手数をおかけいたしますが、ご意見、ご教授いただけますとありがたく思います。

【開発環境】Microsoft Visual Studio 2005 vb.net
【動作OS】Win2000(SP4),WinXP(SP1,SP2)
【構築したいアプリ内容】
1、指定のサイトにアクセスし、WebBrowserコントロールを使い入力必要フィールドにデータ入力させ、Submitボタンをクリックさせる。
2、クリック後、サーバーより"20070117xxxxxxxx.lzh"などの圧縮ファイルがダウンロードされようになっており、「ファイルのダウンロード」ダイアログボックスが表示されるので、"保存"ボタンをアプリケーションが自動的にクリックする。
3、「名前を付けて保存」ダイアログボックスが表示されるので、指定したフォルダ(D:\downld)にダウンロードする。この時もボタンは、自動でアプリがクリックする。
4、ダウンロードのプログレスバーが表示されるので、完了するまでプログラムは、待機する。(「15% / 20070117xxxxxxxx.lzh 完了しました」ダイアログボックスの完了を待つ。また、[ダウンロード完了後、ダイアログボックスを閉じる]にチェックを入れるか、DL完了後このダイアログも閉じる。)

以上の流れにて、プログラムを構築しております。
この内、"1、"までは可能なのですが、"2〜4"のダウンロードダイアログボックスを制御することが出来ずにおります。必ずしも上記手順ではなくては構わないのですが、最終的にSubmitボタンをクリックしてダウンロードとなるファイルをローカルコンピューターに保存できれば良いのです。(尚、Submitにより開始されるファイルは、入力必要項目に入力した内容によりファイル名が変更となり、定型のファイル名ではありません。)

この様なアプリケーションを作成するにはどの様にしたらよいか?ご教授いただけますとありがたく思います。また、上記内容を実装することが出来ない(至難)場合には、その旨もご指摘いただけますとありがたく思います。

以上、お手数をおかけいたしますが、よろしくお願い申し上げます。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-01-17 14:31
引用:

やまざき おさむさんの書き込み (2007-01-17 14:02) より:
1、指定のサイトにアクセスし、WebBrowserコントロールを使い入力必要フィールドにデータ入力させ、Submitボタンをクリックさせる。


WebBrowserコントロールでないといけないんでしょうか?VB2005は(も?)詳しくないのですが、普通はHTTPでPOSTして応答(データ)を保存すればいいと思うのですが・・。

「データ入力」と「クリック」はユーザの処理であり、それ以降を自動化したいということですか?
やまざき おさむ
会議室デビュー日: 2007/01/17
投稿数: 3
投稿日時: 2007-01-17 14:52
引用:
WebBrowserコントロールでないといけないんでしょうか?VB2005は(も?)詳しくないのですが、普通はHTTPでPOSTして応答(データ)を保存すればいいと思うのですが・・。

「データ入力」と「クリック」はユーザの処理であり、それ以降を自動化したいということですか?



ご返信ありがとうございます。
最終的に実現したいことは、"WebBrowserコントロール"以外でも問題ございません。当方にて、以前エクセルVBAを使い似たようなプログラムを作成した経緯があることより、WebBrowserコントロールを使うことで実装できるのではないか?と考えた次第です。

再度要望の確認となりますが、実装したいことを簡潔に申しまして、webページに入力必要事項を入力後、Submitボタンをクリックすると、LZHファイルがダウンロードされます。それをローカルマシンに保存できれば問題はございません。(後は、この処理を何十回と繰り返す処理をいれるだけとなります。)

よって、HTTPでPOSTされて応答データを保存する方法でも実現可能であれば問題なく、とても助かります。実例が掲載されている参考書や有志の方が掲載されているWebサイト、実コードなどございましたならば、ご教授いただけますと助かります。

よろしくお願いいたします。

※サーバーへPOSTする際ですが、認証が必要なサイト内でこのプログラムを走らせるため、POST先(サーバー)へ引数などを渡す際に認証が必要となります。可能であれば、Webページへの入力は、WebBrowserコントロールを使い入力を行い、その後のサーバーからの応答データをアプリ内にて処理する様な形は取れますでしょうか?もしくは、認証のロジックもプログラム上で出来れば良いのですが…(IIS6.0 ASP.netによるフォーム認証)。

[ メッセージ編集済み 編集者: やまざき おさむ 編集日時 2007-01-17 14:59 ]
1

スキルアップ/キャリアアップ(JOB@IT)