2016-06-28 11 views
1

を取得。エクセルVBAエラーランタイムエラー438は、私は、Webページから特定のクラスの内容を取得しようとしているエクセルVBAを使用してWebページクラスのコンテンツ

これはコードです:

sUrl = "https://www.example.com/" 
Set oBrowser = CreateObject("InternetExplorer.Application") 
oBrowser.navigate sUrl 
With oBrowser 
Do While .Busy Or .ReadyState <> 4: Loop 
End With 
Set HTMLDoc = oBrowser.document.getElementsByClassName("classNew") 

このコードは、IEブラウザを作成し、正しいページに移動されます。

enter image description here

ラインの場合:すべてのエラーを生成しないコードをコンパイル

Set HTMLDoc = oBrowser.document.getElementsByClassName("classNew") 

はしかし、私はエラーを取得します。

答えて

0

あなたが欲しいクラスの要素のインデックス番号を知っておく必要があります場合、またはそのクラス名の試みとの唯一の要素:

Set HTMLDoc = oBrowser.document.getElementsByClassName("classNew")(0) 

ます。また、必要があります.innerTextouterTextinnerHTMLかオブジェクトを文字列に変換するには、末尾にouterHTMLを追加します。

+0

同じ名前のクラスがいくつかあります。私はそれらのすべてを反復する必要があります。次に、innerHTMLを取得します –

+0

HTMLDocを何と宣言しましたか? – Jordan

+0

Dim HTMLDoc Object –

関連する問題