• ベストアンサー

excel VBA でjava のボタンを押すには

seesaブログの管理画面に於いて、リンクボタンを設置しました。 これを、Excel VBA で押下したいと思います。 表示されているリンクを解析すると http://blog.seesaa.jp/cms/content/regist/return%20false;リンク集 となっており、セミコロンより前の文字列は他のボタンと同じになっていました。 これを押下する方法を、ご教示願います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1 です。 > ・認証を突破した IE を開けておく > → できています。 > ・その状態で、Excel VBA から、押したいリンクのページに飛ぶようにコーディングする >→ 途中までは出来ている。しかし、私が質問した内容の部分が出来ずにいる。 という状態であるとき、 ・表示したいリンクのURLがわかっているのであれば、#1 で書いた、ShellExecute を使えば、そのリンクが IE で表示されます。 ・ではなくて、IE を直接操作して、ボタンを押したいのであれば、InternetExplorer.Application を使って、IE のインスタンスを捕まえて、その先のドキュメントオブジェクト経由でボタンを取得して押してください。 http://www.ken3.org/cgi-bin/group/vba_ie.asp http://ken3hitori.g.hatena.ne.jp/bbs/22/ > 総じてshin_nosukさんが言わんとするのは、分からないということでしょうか。 あと、考えられるのは、リンクの表示の仕方や、IEを直接操作する方法はわかるけれど、質問文にお書きになったリンクの意味とか作用がわからないということでしょうかね。そういうときは仕方がないのでソースをみて、そのリンクボタンを押したあとになにをしてるのかを調べてみればよいのでしょうけど、今日日の a タグは onclick にたくさん書いてあって、JavaScript の関数が、外部のスクリプトにあったりして、一概に、これだからこう、とは言いきれないです。(a じゃないこともあるだろう。) なんか、やっと、この質問の意味が理解できたような気がします(Javaのボタンというのもやっとつながった)が、いずれにしても、ここは Visual Basic のカテゴリーですし、ご所望の効果をあげる一番よい方法は、上にあげた、OLE(COM)で直接押すというのがいちばんよさそうです。      

xcode_15
質問者

お礼

ご回答ありがとうございます。 色々なサイトを回って探いていますが、これと行った手がかりが無いようです。 「Javaのボタン」と言うことで、別ジャンルで帰いた方が良かったのかな? とにかく、まだ解決の糸口に至っておりません。 (T^T) 「OLE(COM)で直接押す」という所を、もう少し具体的に解説して頂けると有り難いのですが・・・

その他の回答 (1)

回答No.1

こんばんは。 エート、 VBAだけで、ブログの管理画面に設置されているリンクを押すという効果を得るには、とても面倒です。ブラウザは、Webサーバーからの応答によって、html を解析して、リンクボタンにしてますが、ブラウザがないとなると、Web ブラウザと同様の実装が VBA で必要になります。リンクボタンを取得するだけなら、たいして難しくないですが、管理画面ということなので、そのページに行くまでに、ユーザー名とパスワードを入れているでしょう。認証をサポートするブラウザの実装となると非常にめんどうです。 また、 Excel と IE が別に開いていて、Excel から IE のボタンを押すっていう方法はありますが、Excel から IE のプロセスを取得することはできそうですけど、IE で開いているページは、もともと seasa ブログという別のコンピュータにあるページなので、セキュリティ的に制限されて、ボタンの取得のまえにページが取得できないでしょう。それができると悪用されてしまうので。 ということで、いちばん簡単なのは、 ・認証を突破した IE を開けておく ・その状態で、Excel VBA から、押したいリンクのページに飛ぶようにコーディングする というのがよいでしょう。参考 URL を参照してください。    

参考URL:
http://mmf.cocolog-nifty.com/fpc/2005/05/vb6url_9593.html
xcode_15
質問者

お礼

ご回答をいただきまして ありがとうございます。 総じてshin_nosukさんが言わんとするのは、分からないということでしょうか。 ・認証を突破した IE を開けておく → できています。 ・その状態で、Excel VBA から、押したいリンクのページに飛ぶようにコーディングする → 途中までは出来ている。しかし、私が質問した内容の部分が出来ずにいる。 という状況です。