Collectionの使い方について教えてください 削除
Message#2 2017年5月24日(水)13時05分 From: ジャッカル |
sGetData_d = col_d1(1)..href に..が2つ入っているよ。 あとhrefはaタグとかのプロパティだからclassじゃ抜けないんじゃないかな? > エクセル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 = 〜 の構文が間違っているようですが、 > よろしくお願いします。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。