Loading...

【IE操作 VBA】データ取得の基本?.InnerTEXT.OuterHTML For Each で回す【三流君】

2,630 views

Loading...

Loading...

Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jul 5, 2016

ソースコードは
http://ken3memo.hatenablog.com/entry/...
を見てください。


HTML文章はタグで囲まれた文章なので、
タグから攻めていく

HTML文章 ドキュメントから指定したタグのデータを抜く
オブジェクト = document.getElementsByTagName("タグの名前")

上記のような方法があります
(NameやIDから探る方法は後日・・・)

.getElementsByTagNameで抜き出したデータを使用する
まぁ表示されている文章なのでテキストを.innerTEXTで抜いたり
HTMLを判断したいときは、.OuterHTMLでHTMLから判断したり

1.タグを指定して取り出してみた。
.getElementsByTagNameの取り出しと、
.Lengthで数がわかり、
.innerTEXT .OuterHTMLの説明

Sub ie_test20160706_getElementsByTagName() 'IEテストする。 'ドキュメント代入 Dim objDOC As HTMLDocument Set objDOC = objIE.document '指定したタグ、エレメントを集める Dim objELEs As IHTMLElementCollection 'DispHTMLElementCollection? Set objELEs = objDOC.getElementsByTagName("P") '指定したタグを抜き

出す

↑とか一つ一つ上からやってたけど、 Debug.Print objIE.document.getElementsByTagName("P")(0).outerHTML Debug.Print "↑こんな書き方もできますよ。テスト時はこっちがおおいか

な?"


------------------------

2.For Each オブジェクト Inで回す方法を解説

カウンターと添え字で回してたけど、
For Each オブジェクト Inで回す方法があります。

Sub ie_test20160706_for_each_in() 'IEテストする。 Dim e As Object 'エレメントを一つ保存したいので
を作って、 For Each e In objIE.document.getElementsByTagName("P") '指定したタ

グを抜き出す
みたいに回す。

----------------------

3.型指定すると、楽かなぁ?

? typename(objIE.document.getElementsByTagName("IMG")(0))
とかで、型を表示すると便利で、
指定した型を使うと、プロパティを探りやすかったり。

Sub ie_test20160706_img_src() 'IEテストする。

でIMGタグのSRCを探したり。
ここでウォッチ式で現物を見ると、プロパティが探しやすいかも?




-----------------

4.QAに答えてみた。

http://ie.vba-ken3.jp/test/20160706/t...
のテストファイルに対して、

テーブルの行がTRなので、
TRのタグを抜き出して、そのITEMがTDなので、
そこからさらに TD内のIMGでループして、
画像の数値をファイル名から判断して、抜き出してみました。

ソースコードは
http://ken3memo.hatenablog.com/entry/...
を見てください。



IE操作,VBA,データ取得,.InnerTEXT,.OuterHTML,For

Each,.getElementsByTagName

-------------
三流君のHP http://www.ken3.org/ ←がメインHPで、
書きかけのメモなど は
http://d.hatena.ne.jp/ken3memo/
に置いてあり、
twitterは → https://twitter.com/Ken3Memo
です。

Loading...

Advertisement
When autoplay is enabled, a suggested video will automatically play next.

Up next


to add this to Watch Later

Add to

Loading playlists...