2017-07-27 19 views
0

ループを使用してWebからExcelシートにデータを取得しようとしています。私はシートを添付し、ここにコードを貼り付けます。これで私を助けてください。ありがとうございました。実行時エラー438オブジェクトがこのプロパティまたはメソッドをサポートしていません。インターネットエクスプローラ


Private Sub Worksheet_Change(ByVal Target As Range) 

If Target.Row = Range("Number").Row And _ 
Target.Column = Range("Number").Column Then 
Dim IE As New InternetExplorer 
IE.Visible = True 
IE.navigate "https://www.truecaller.com/search/in/" & Range("Number").Value 
Do 
DoEvents 
Loop Until IE.readyState = READYSTATE_COMPLETE 
Dim Doc As HTMLDocument 
Set Doc = IE.document 
Dim sdd As String 
sdd = Doc.getElementsByClassName("profile-name").innerText 
MsgBox sdd 

End If 

End Sub 
私はコードの上使用したとき、私が出力するエラーをGET


実行時エラー '438':
オブジェクトはこのプロパティをサポートしていませんか方法


+0

なぜエラーを生成した行番号を含めることが重要だと思われるのはなぜですか? – Jeeped

+0

https://drive.google.com/open?id=0B3bc9Owb0D9zXzFOc0dnLWxJWHc –

+0

sdd = Doc.getElementsByClassName( "profile-name")。innerText -----------------はエラーを作成した行 –

答えて

0

要素 ByClassNameが複数であるかに.getを参照してください? .getElementsByClassNameは、単一のオブジェクトではなく、コレクションを返します。本質的には、整数の配列を単一の整数として扱うことを試みています。彼らはではない同じものです。

を単に削除することはできません。 getElementByClassName関数はありません。しかし、整数の配列内の個々の整数を指定するのと同じ方法で、最初の要素を求めることができます。

sdd = Doc.getElementsByClassName("profile-name")(0).innerText 
関連する問題