質問: webページ中の javascript をvbaから実行するには vbaで objie を使用して webページ中の javascript を実行したいのですが、 onclick="~~" の記述がないケースがあり困っております。 例えば以下のような記述です。 ~~ onclick の記述がない上記のようなケースでは、javascript の呼び出しはどのようにすればよいのでしょうか? 不可能でしょうか?
回答: ここを読んでみればよいのですが、だらだらと文章が長いですね。^^; http://www.ken3.org/vba/backno/vba170.html この内容のまとめは、この後でします。もし、ダメだったら、こちらも読んでください。 >onclick="~~" の記述がないケースがあり困っております。 最初に、ストレートな回答ではありませんが、私の場合、いくつかの方法を試しています。 >a href="javascript:;" pnb="~~" scdaction="~~" bulkaction="~~" id="~~">~~ この場合は、id がありますから、確実のオブジェクトとして取得できますから、まず最初に、ダメ元で、 id名.click を一度試してみます。もしくは、この行の上部のコードのオブジェクトのclass名のオブジェクトのひとつから、ヒットさせようとします。 そこでダメなら、ということで、ken3の内容に入るのですが、この著者の結論(正解)は、 ご質問に沿って書くと for i =0 to objie.document.links.length -1 if objie.document.links(i).href ="javascript:;" then '文字の比較は、大文字・小文字がある objie.document.links(i).click end if next i ということになっています。私は、このコードは少し古臭く感じます。 ここで、ken3 の所では、testサイトを用意してくれているので、試してみましたが、ダイレクトでサイトがとれている限りは、やはり、 testサイト:http://www.ken3.org/vba/test170f.html objie.navigate "javascript:xxxxx;" が利くことが分かりました。ただし、実際は、ここで時間待ちをしなくてはならないでしょう。 解説は、フレームからですので、うまく行かなかったようです。