[[20170502164831]] 『(HTMLタグ)フォーカスの取得につきまして』(HARU) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『(HTMLタグ)フォーカスの取得につきまして』(HARU)

お世話になります。

(HTMLタグ)現在のフォーカス取得につきまして

概要
参考例 <input name="1234" tabindex="13" class="a12" id="test" type="text" maxlength="5" value="">
記述方法
a=objIE.document.activeElement.Name (a="1234" が取得できました)
b=objIE.document.activeElement.id (b="test" が取得できました)

質問
参考例 <a class="abcd" href="#" data-test="efg">ログアウト</a> 場合での
class="abcd" 及び "ログアウト"を取得する記述方法につきまして
ご教示願えますと幸いであります。

< 使用 アプリ:Excel2000、使用 OS:Windows7 >


 >a=objIE.document.activeElement.Name (a="1234" が取得できました) 
 >b=objIE.document.activeElement.id (b="test" が取得できました) 

 ・・と言うことでしたら、

 これで取得できませんか?
 ↓
 a = objIE.Document.activeElement.Children(0).className
 b = objIE.Document.activeElement.outerText

(半平太) 2017/05/02(火) 18:48


既に解決済みと思われますが、感想を。
 
質問者さんの目的はどんなことなんでしょうか。
手でアクティブにして、activeなものだけ相手にするなら
手作業でやったほうが(CopyPaste)簡単に思う。
 
DOMの内部確認の目的なら、IE(ブラウザーがIEとして)で、F12キーを押して
DOM Explorerを利用したほうがよいと思われる。
 
もし、広範囲のtraverseが目的ならactiveElementを使わずに、
getElementsByTagNameなどのgetElement系で降りていく方法もあると思う。
最近はgetElementsByClassなどもあると聞く。
(γ) 2017/05/02(火) 19:30

         半平太  さん

返答をして頂きましてありがとうございました。

遅くなりまして申し訳ありませんでした。

 >これで取得できませんか?
 はい、問題なく取得できました。

 >a = objIE.Document.activeElement.Children(0).className
 >b = objIE.Document.activeElement.outerText

↓解決することができました。

お教示くださいまして感謝申し上げます。

(HARU) 2017/05/02(火) 20:10


      γ さん

返答をして頂きましてありがとうございました。

 >質問者さんの目的はどんなことなんでしょうか。 
keybd_event 関数を使ってwebボタン等をTAB,Enterで自動で行っていました。
目的のTABまで送りをkeybd_event関数で行っていますので効率を考え
フォーカスの取得と考えました。
 >DOMの内部確認の目的なら、IE(ブラウザーがIEとして)で、F12キーを押して
F12 開発者ツールはタブの要素等調べるのに利用しています。
 >getElementsByTagNameなどのgetElement系で降りていく方法もあると思う。 
getElementsByTagNameは使っていますが現在のアクテイブされているボタンの
取得しか思い浮かばずアクテイブの質問になりました。

お教示くださいまして感謝申し上げます。

(HARU) 2017/05/02(火) 20:13


コメントありがとうございました。
Excelワークシートと同じで、アクティブなものに依存しないほうがよいと思いました。(感想)
(γ) 2017/05/02(火) 20:29

 Dim c as Object
 Set c = objIE.Document.activeElement
 Stop

  として、止まったところで、変数cの中身をローカルウィンドウでチェックすれば、
 「ログイン」や「className」の在りかは、自分自身で調べる事ができますよ。

(半平太) 2017/05/02(火) 20:43


γ さん

Excelワークシートと同じで、アクティブなものに依存しないほうがよいと思いました。(感想) アドバイスして頂きまして、ありごとうございました。

(HARU) 2017/05/02(火) 23:16


半平太 さん

Dim c as Object Set c = objIE.Document.activeElement Stop

として、止まったところで、変数cの中身をローカルウィンドウでチェックすれば、 「ログイン」や「className」の在りかは、自分自身で調べる事ができますよ。 明日、試してみます。検索で色々調べてみましたが分からず投稿しました。
実際にプログラムに組み込みできました。
ありごとうございました。
(HARU) 2017/05/02(火) 23:17

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.