あるリンクのリンク先の取得方法について教えてください。
・閲覧先のページのURLは固定(候補は複数ありますが・・・)
・その閲覧先のページには常に2つのリンクが貼られており、
取得したいのは1つめ(html的に先)の方のみ
(どちらも文字列リンクです。<a href="・・・">文字列</a>というタイプ。)
・この取得したいリンク先は、このページをリロード
する度にランダムに変わるため、ページを開かないと
確定しない。
・私が使用しているブラウザはIE8(←すいませんが固定)
VBA初心者で基本的なこともわからないことが多いですが、
どのような記述方法になるか、ご教授頂ければ幸いです。
※下のコメント欄もよければご活用ください
XMLHTTPオブジェクトを使った簡単な方法なら、
http://officetanaka.net/other/extra/tips02.htm
こちらの方法を利用して、こんな感じで簡単にできます。
Sub Sample() Dim Http, buf As String Dim stP As Long Dim edP As Long Set Http = CreateObject("MSXML2.XMLHTTP") Http.Open "GET", "http://q.hatena.ne.jp/1279613364", False Http.Send buf = StrConv(Http.ResponseBody, vbUnicode) stP = InStr(1, buf, "<a href=") + 9 edP = InStr(stP, buf, ">") - 1 MsgBox Mid(buf, stP, edP - stP) Set Http = Nothing End Sub
XMLHTTPオブジェクトを使った簡単な方法なら、
http://officetanaka.net/other/extra/tips02.htm
こちらの方法を利用して、こんな感じで簡単にできます。
Sub Sample() Dim Http, buf As String Dim stP As Long Dim edP As Long Set Http = CreateObject("MSXML2.XMLHTTP") Http.Open "GET", "http://q.hatena.ne.jp/1279613364", False Http.Send buf = StrConv(Http.ResponseBody, vbUnicode) stP = InStr(1, buf, "<a href=") + 9 edP = InStr(stP, buf, ">") - 1 MsgBox Mid(buf, stP, edP - stP) Set Http = Nothing End Sub
ありがとうございます!いろいろなURLでやってみましたが、上手くできそうです!
しかし、ちょっと私がやりたいことができなかったので、追加質問を出しました。
http://q.hatena.ne.jp/1279686152
どうぞよろしくお願い致します!!
VBAで直接URL(固定の方)にアクセスして、正規表現でリンク先URLを取り出す方が簡単。
手順は下記参照。
ありがとうございます!いろいろなURLでやってみましたが、上手くできそうです!
しかし、ちょっと私がやりたいことができなかったので、追加質問を出しました。
http://q.hatena.ne.jp/1279686152
どうぞよろしくお願い致します!!