人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel VBA で
あるURLのリクエストした結果が知りたいです。

HTMLを取得しようとしたら、
すぐ違うページへリダイレクト(多分 refresh タグで0秒にしてる?)してしまうので、リダイレクト先のHTMLを取得することしか出来ませんでした。

よろしくお願いします。

●質問者: yamazakiis
●カテゴリ:コンピュータ インターネット
✍キーワード:Excel HTML URL VBA タグ
○ 状態 :終了
└ 回答数 : 4/5件

▽最新の回答へ

1 ● toku4sr4agent
●25ポイント

ツール

→インターネットオプション

→セキュリティ

の設定で、

レベルのカスタマイズという部分がありますが、

「ページの自動読み込み」をいうところがありますが、

それが「有効」になっていませんか?

その部分を「無効」にすることで、

ある程度は自動的に別のページに移動するのを

避けることが可能だと思います。

(ただし、ブラウザがIEの場合です。

別のブラウザの場合はわかりません。)

◎質問者からの返答

いやいや、Excel VBAでプログラミング的にやりたいんです。


2 ● kn1967
●25ポイント

URLがわからないと調べようもありませんので、URLを秘匿しなければならないのならば以下のような方法で調べてみてください。

InternetExplorerを開き、インターネット一時ファイルを削除してかれ、アドレス欄にURLを打ち込んで移動してください。

飛ばされたらInternetExplorerを閉じてインターネット一時ファイルの中にあるhtmlファイルをメモ帳などで片っ端から覗いてみてください。

ただし、覗いてみた結果refreshなどを行っていない様子であれば、サーバーサイドで飛ばしている可能性がありますので、その場合はどこにどのような形で飛ばしているのか(あるいは、どこに置かれているファイルをインクルードしているのか)はサーバー管理者にしか分かりませんので、そのURLの管理人に相談してください。

◎質問者からの返答

いやいや、Excel VBAでプログラミング的にやりたいんです。


3 ● icchan0000
●25ポイント

basp21のw3getメソッドを使うと、ソースの取得は可能です。

ただし外部ファイルに保存する形になりますが。

http://www.hi-ho.ne.jp/babaq/basp21.html#0041


sampleソース:

Dim bobj As Object

Set bobj = CreateObject("basp21")

para = "-d c:\temp http://www.yahoo.co.jp/index.html"

rc = bobj.W3get(para)

Set bobj = Nothing


これで、c:\temp配下にindex.htmlが作成されます。内容は指定したURLのものになります。

metaタグでrefresh指定していても、refresh先ではなく元のソースを取得できることは確認しました。


4 ● kn1967
●25ポイント

>多分 refresh タグで0秒にしてる?

>いやいや、Excel VBAでプログラミング的にやりたいんです。

本当にrefreshでクライアント側(貴殿のパソコン側)で他のページに飛んでいるのであれば1/や3/で回答いただいているような方法で対処可能ですが、サーバーサイドで飛ばされている場合はクライアント側では対処できないということは理解されておられますか?

クライアント側かサーバー側かを切り分けるために2のような回答をしたのですが、クライアント側で対処できそうな状態(refreshで動作していれば対処可能)しているかどうかの確認を取ってみてください。

◎質問者からの返答

refresh タグで0秒にしてる 前提での回答をお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ