こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBAでonclickイベントをクリックしたい

お世話になります。
XP/エクセル2003/IE8使用です。

テーブルタグ内で、onclickイベントでクリックすれば画面遷移するタグを
VBAでクリックしたいのですが、記述方法がわかりません。
(IE起動などは大丈夫です。また、aタグやinputタグのクリックは処理できます)

具体的には、画像の「重要情報」(タブ風テーブル)から「出品情報」(タブ風テーブル)に移動し、再度、「重要情報」に戻ってきたいです。

HTMLソースは下記の通りです。

'---「重要情報」
<td id="basics" class="titletab-active" nowrap="nowrap" onclick="productTableController.switchTab('basics');return false;">
<span class="requiredAsterisk bold" id="tabAsterisk_basics">
<img src="https://images*略*.gif"></span>
<span class="sprites" id="validation_error" title="" onclick="" style="display: none;"></span>
<span class="sprites" id="ldr_warning" title="" onclick="" style="display: none;"></span>
<span class="sprites" id="quarantine_warning" title="" onclick="" style="display: none;"></span>
重要情報</td>

'---???(何の記述なのか私には不明)
<td id="variation" class=" titletab-inactive hide" nowrap="nowrap" onclick="productTableController.switchTab('variation');return false;" style="display: none;">
<span class="sprites" id="validation_error" title="" onclick="" style="display: none"></span>
<span class="sprites" id="ldr_warning" title="" onclick="" style="display: none"></span>
<span class="sprites" id="quarantine_warning" title="" onclick="" style="display: none"></span>
バリエーション</td>

'---「出品情報」
<td id="offer" class="titletab-inactive" nowrap="nowrap" onclick="productTableController.switchTab('offer');return false;">
<span class="requiredAsterisk bold" id="tabAsterisk_offer">
<img src="https://images*略*.gif"></span>
<span class="sprites" id="validation_error" title="" onclick="" style="display: none;"></span>
<span class="sprites" id="ldr_warning" title="" onclick="" style="display: none;"></span>
<span class="sprites" id="quarantine_warning" title="" onclick="" style="display: none;"></span>
出品情報</td>


よろしくお願いします。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2014-09-01 18:32:44

QNo.8738613

困ってます

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

Dim ie : Set ie = CreateObject("InternetExplorer.Application")
'目的のページに移動
ie.Document.Script.setTimeout("javascript:productTableController.switchTab('basics');return false;", 1)
ie.Document.Script.setTimeout("javascript:productTableController.switchTab('offer');return false;", 1)
ie.Document.Script.setTimeout("javascript:productTableController.switchTab('basics');return false;", 1)

でいけるかと思います。
onClickで設定されているJavaScriptをsetTimeoutの引数に渡すだけでOKです。

投稿日時 - 2014-09-02 07:23:24

お礼

hirakawa_kさま、早速のご回答ありがとうございました。

無事クリックできました!!!
ありがとうございます

今後ともよろしくお願いします

投稿日時 - 2014-09-02 10:14:50

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>onclickイベントをクリックしたい

その要素のclickメソッドを呼び出せばいいのでしょうけど、
部分的なHTMLソースを読み解くと言うのは、あまり誰もやりたくないのではないでしょうか。

「IEでクリックされた要素を調べる」
https://gist.github.com/kumatti1/5be491a6a75ee32457a7
みたいなコードでお調べになるとか。

投稿日時 - 2014-09-02 07:13:24

お礼

kumatti1さま、早速のご回答ありがとうございました。

ご指摘いただきました件、
今後気をつけたいと思います。

ありがとうございました。
今後ともよろしくお願いします。

投稿日時 - 2014-09-02 10:15:51

あなたにオススメの質問