excel VBAのIE操作(フォーカス)について 削除
Message#5 2014年12月11日(木)08時09分 From: VBAマスター |
「うんともすんとも」とは、もう少しちゃんとした言葉には出来なかったのですか? こちらで試してみているのだから、どうして出来ないかと考えたり、また、どうしてかと聞くべきではありませんか?掲示板で聞くというのは、一期一会だと思って聞いたほうが価値があると思います。 この"w"って、何かと考えれば分かるはずです。 w とは、すべてのウィンドウのことです。つまり、IEでタブで二つ以上開いていたら、最初のタブ側のウィンドウを探しているということです。 Set objShellWins = CreateObject("Shell.Application").Windows() For Each w In objShellWins それでも分からないなら、こうでもすれば、分かるはずです。 でも、探し方はいろいろあるはずで、何も、フォーカスしてるものの名前を取るということにこだわらなくても、ループして探してもよいし、他にもあります。最終目的は、そんなことではないのでしょう。この先があるはずだと思います。 '// Sub Test1a() Dim objIE As Object Dim objShellWins As Object Dim w As Object On Error GoTo ErrHandler Set objShellWins = CreateObject("Shell.Application").Windows() For Each w In objShellWins If TypeName(w) = "IWebBrowser2" Then Set objIE = w Exit For End If Next If Not objIE Is Nothing Then With objIE If .Document.activeElement.ID <> "" Then Debug.Print .LocationName, .Document.activeElement.ID Else Debug.Print "NO DATA" End If End With End If ErrHandler: Set objIE = Nothing Set objShellWins = Nothing End Sub '// #2のマクロで取った結果: http://oshiete.goo.ne.jp/ [検索する]のテキストボックスは、'searchtop' と出ています。 その次の 画面下の[カテゴリ]のコンボボックスは、'qa_ranking_change' となっています。 また、 https://www.google.co.jp/ の真ん中のテキストボックスは、'lst-ib' http://www.yahoo.co.jp/ の最初のテキストボックは、'srchtxt' |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。