三流君 ken3のmemo置き場

メモ置き場、保管庫として利用。まとまっていませんがヨロシク

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
(※詳細は[三流君 三流プログラマーとは?]を見てください)


広告:


[記事一覧、バックナンバーを見る]

XXXXXさんへ Aタグ リンクの文字を探して押す

下記の質問がきました。

<li class="mode"><a tabindex="2"
href="javascript:void(0)" onClick="send()">返信</a></li>
<li class="wmode" style="display:none;"><a tabindex="3"
href="javascript:void(0);" onClick="Question();">質問</a></li>
<li class="dmmode" style="display:none;"><a tabindex="4"
href="javascript:void(0)" onClick="send()">送る</a></li>


>このようなコードがありまして、返信のJavascriptを作動させたいのですが
>"返信"と"送る"でonclickが同じせいなのかわからないのですが、うまく作動してくれません。
>
>わたしが書いたコードは
>
>objIE.document.Script.setTimeout "send()", 200 '返信
>
>このようにして記述しているのですがうまくいきません。

A の リンクをクリックみたいなので、

http://d.hatena.ne.jp/ken3memo/20100214/1266096020
では
ボタンのサンプルなのですが、

    'htmlドキュメント allのから .tagsでButtonタグを抜き
    '.InnerTEXT値(ボタンの名称) が VBA解説 の オブジェクト を クリック(.Click)する
    Dim objButton As Object   'Buttonタグ格納用

    For Each objButton In objIE.Document.all.tags("Button")  'Buttonのタグを.allから抜く
        If objButton.InnerTEXT = "VBA解説" Then '.InnerTEXT値(ボタンの名称) で判断する
            objButton.Click  '見つけたButtonオブジェクト(ボタン)を.Clickクリックする
            Exit For  '用が済んだので(見つかったので)ループを抜ける
        End If
    Next

今回は、A リンクのタグなので、

    'htmlドキュメント allのから .tagsでAタグを抜き
    '.InnerTEXT値(リンク文字) が 送る の オブジェクト を クリック(.Click)する
    Dim objA As Object   'Aタグ格納用

    For Each objA In objIE.Document.all.tags("A")  'Aのタグを.allから抜く
        MsgBox "確認用" & objA.InnerTEXT  '確認できたら消す
        If objA.InnerTEXT = "送る" Then '.InnerTEXT値(リンクの名称) で判断する
            objA.Click  '見つけたButtonオブジェクト(ボタン)を.Clickクリックする
            Exit For  '用が済んだので(見つかったので)ループを抜ける
        End If
    Next

↑変数名をAにしか変えていませんが、こんな感じかなぁ。
※送る や 返信 に If objA.InnerTEXT = "送る" を 変更して使ってみてください。

あっ、最近書いたヤツだと、

http://d.hatena.ne.jp/ken3memo/20120407/1333765403

'↑上で見つけたIPAT 投票メニューから 情報メニュー を 押す

    'Aのタグを集める .getElementsByTagName("A")を使用
    Set objA = objIE.Document.getElementsByTagName("A")

    'ループで頭から表示してみる
    For n = 0 To objA.Length - 1
        '※.InnerHTMLじゃなくて、.OuterHTMLでAの全体を見る
        '情報メニューのリンクを探す、ソースの文字を探す
        If InStr(objA(n).OuterHTML, "情報メニュー") > 0 Then
            objA(n).Click  'クリックする
            Exit For  'ループを抜ける
        End If
    Next

    Set objA = Nothing  'オブジェクト変数解放

ですね、
.InnerTEXT じゃなって、
.OuterHTML で 探してますが、
リンク先の動画を見て、お好きな方で・・

解決の糸口となれば、幸いです。 三流プログラマー Ken3




三流君へ メッセージを送る

全ての質問に答えることはできませんが、
ダメもとで、気軽に質問、感想、メッセージを送ってくださいね・・・

感想や質問・要望・苦情など 三流君へメッセージを送る。
下記のフォームからメッセージを送ることができます。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)
例:[XXXXさんへ回答例]←みたいに回答していたり...


Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。
・[Excel/Access VBA]の解説
・[ASP(Active Server Pages)]の解説。
・[元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
・[プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
三流君を踏み台にする
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。

三流解説動画の再生リスト
https://www.youtube.com/user/ken3video/playlists

本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)