おっと、そのまま進めて行くところだった
Me.WebBrowser2.Document.links(6-1).Click
なんか、違和感あるよね。
えっ、どこが、動いているからいいのでは?
これって、たまたま、今は6番目で6-1とかやってるけど、
将来レイアウトなど変更があった時(もしかしてしばらく変わらないかもしれないけど)、違う6番目をクリックしてしまうのでは?
ドキっ、確かに〜(←は、古いかな)、
.Title で
? Me.WebBrowser2.Document.links(6-1).title
情報メニュー
と、取れるなら、タイトルが情報メニューのリンクを探しクリックに変更したら?
If Me.WebBrowser2.Document.links(n).title = "情報メニュー" Then
※↑まぁ、これも、タイトルが"情報メニュー"から変わったら使えないんだけどね。
これを考慮して、情報メニューを見つけ起動する、そんな処理を書いてみました。
Private Sub bGET_TAN_Click()
'情報メニューを起動する(クリックする)
Dim n As Integer 'ループのカウンター
Dim nLinkNo As Integer '見つけたメニューの番号
nLinkNo = -1 'エラーの-1で初期化する
For n = 0 To Me.WebBrowser2.Document.Links.Length - 1 'リンクオブジェクトから探る
'タイトルが情報メニューのリンクを探す
If Me.WebBrowser2.Document.Links(n).Title = "情報メニュー" Then
nLinkNo = n '見つけた番号をセットする。
Exit For '見つけたのでループを抜ける。
End If
Next n
'エラーの判断
If nLinkNo = -1 Then '-1のまま、見つからなかったら、エラーにする。
MsgBox "情報メニューが見つかりません、システム管理者に連絡してください"
Exit Sub '関数を抜ける
End If
'見つけたリンクを押す .Click
Me.WebBrowser2.Document.Links(nLinkNo).Click '単純に.Clickメソッドを使う
'↑次は、ここで起動した 情報メニューを捕まえないとなぁ。。。
End Sub
※↑今回、画像のメニューボタンだったので、
.Document.Links(n).Title で チェックしました。
多いパターンはテキストリンクだと .Document.Links(n).InnerTEXT が 多いかなぁ。 あとは、飛び先が変わらないことが多いので .Document.Links(n).
03/28 Document.Links(n).Titleを探り .Clickする
http://www.youtube.com/watch?v=OxeD_xZwrSA
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-