Collectionの使い方について教えてください
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
Message#1 2017年5月12日(金)18時39分 From: 清水 透 | 返事 削除 変更 |
エクセルVBAでWEBページからデータを取得するコードを書いています。 そこで教えていただきたいのですが、Collectionの中にCollectionを書く やり方を教えていただけないでしょうか。 例えば <div class=""AA""> <div> <span class=""A11""> <a class=""A11_1"" href="" (URL1) "">テキスト1</a> </span> </div> <div> <div> <span class=""A12_1""></span> <span class=""A12_2""></span> <span class=""A12_3"">テキスト2</span> </div> </div> <div> <div class=""A13""> <li class=""A13_1""> <li class=""A13_B""> <span class=""A13_B1"">テキスト3</span> <a class=""A13_B2"" href="" (URL2) "">テキスト4</a> </li> </li> </div> </div> </div> <div class=""AA""> ‥‥‥‥‥‥‥‥ </div> <div class=""AA""> ‥‥‥‥‥‥‥‥ </div> このようなHTMLがあった時に、 URL1 テキスト2 テキスト3 URL2 の4つのデータを取りたいのです。 Dim htmlDoc As HTMLDocument Dim elList_d As IHTMLElement Dim col_d As IHTMLElementCollection Dim sGetData As String Set htmlDoc = objIE.document Set elList_d = htmlDoc.getElementsByClassName("AA")(0) Set col_d = elList_d.Children 'URL1 sGetData_d = col_d(0).getElementsByClassName("A11_1")(0).href 'テキスト2 sGetData_d = col_d(1).getElementsByClassName("A12_3")(0).innerText まではできたのですが、テキスト3とURL2を取得するためにcol_d(2)の中を Collectionを使って取り出したいと思います。 Dim elList_d1 As IHTMLElement Dim col_d1 As IHTMLElementCollection Set elList_d1 = col_d(2).getElementsByClassName("A13")(0) Set col_d1 = elList_d.Children 'テキスト3 sGetData_d = col_d1(0).innerText 'URL1 sGetData_d = col_d1(1)..href と実行すると、col_d1が空になります。 Set elList_d1 = 〜 の構文が間違っているようですが、 よろしくお願いします。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降