アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBAにてHPの情報を「With ActiveSheet.QueryTables.Add」で取り込むツールを作成しました。
これまで問題なく利用していたのですが、新しいHPはリンク先をクリックすると、同じURLなのに、ちがう項目が出現する仕組みのため戸惑ってます。

その部分のソースは以下の通りです。

<li><a href="javascript:void(0);" onClick="pagerForm(80,5,null,null)">&lt;前へ</a></li>

上記の対象のリンク先をクリックすると項番80から5つのデータが出現する動きをします。
VBAにて、対象のjavascriptを起動して、同様のページを生成する方法はありますでしょうか?

よろしくお願いします。

ExcelVBA(Microsoft Visual Basic for Applications7.0)

A 回答 (2件)

IEを制御して一旦、ローカルにHTMLファイルを保存して、そちらに対してWebクエリを適用させればいいのではと。


(IEのNavigateメソッドのjavascriptプロトコルで処理)
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?p …

↓IE制御の入門書
「Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応」
http://www.impressjapan.jp/books/3384
    • good
    • 0

http://note.chiebukuro.yahoo.co.jp/detail/n24833
WebクエリのVBA同等処理

ページ = "http://www.amazon.co.jp/dp/4883376435/"
Sheets.Add after:=Sheets(Sheets.Count)
Set myIE = CreateObject("InternetExplorer.Application")
myIE.Visible = True
myIE.Navigate ページ
Do Until myIE.busy = False And myIE.readyState = 4: Loop

表示だけなら上記6行でできる
リンクをクリックする処理を追加すれば可能なはず
ソースを見た限りでは IDやNAMEは付いていないので
他の条件か 何番目か で指定する

myIE.document.getElementsByTagName("A")(10).click
上から数えて11番目のAタグをクリックする
(0を1とするので 10は11番目)

http://homepage1.nifty.com/MADIA/vb/API/Sleep.htm
Javascript実行後に表示まで時間があるときは
Sleep 1000 '1秒待つ

ソースの全文が分からないと正確なものは分からない
    • good
    • 1
この回答へのお礼

エスパーな質問ですみませんでした。以下の文で対象のjavascriptが動かすことが出来、自己解決しました。

objIE.Document.Script.setTimeout "javascript:pagerForm(80,5,null,null);

お礼日時:2013/05/23 14:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!