2017-05-10 8 views
0

私はそうのようなHTMLのスパンでいくつかのテキストを持つWebページを持っている:VBAはウェブページからテキスト値を抽出しますか?

<span id="ctl00_ContentPlaceHolder1_FormView1_GridView1_ctl02_lb_ExpiryDate">Expiry Date : 16/02/2018</span> 

私は、この値は以下のコードを使用してExcelでメッセージとして表示取得しようとしています:

Sub PullExpiry() 

Dim appIE As Object 
Set appIE = CreateObject("internetexplorer.application") 

With appIE 
    .Navigate "https://www.brcdirectory.com/InternalSite//Site.aspx?BrcSiteCode=" & Range("J6").Value 
    .Visible = True 
End With 

Do While appIE.Busy Or appIE.ReadyState <> 4 
    DoEvents 
Loop 


Set getPrice = appIE.Document.getElementById("ctl00_ContentPlaceHolder1_FormView1_GridView1_ctl02_lb_ExpiryDate") 
Dim myValue As String 
myValue = getPrice.innerText 

appIE.Quit 
Set appIE = Nothing 

MsgBox myValue 
End Sub 

この私のラップトップ(作業中のウィンドウ)で作業していましたが、それは自分のコンピュータ(作業中のウィンドウ)上では機能しません。どちらのウィンドウも同じバージョンのIEと同じバージョンです。私はそれを説明することはできません。

私は両方の参照でMicrosoft OfficeとExcelオブジェクトライブラリを有効にしています。

私はアクティブx成分が何か

を作成できないというエラーが出ますが、誰かが私が間違っているつもりですどこ私を見ることができますしてください?

+0

それは作業するのではなく、何をしますか? –

+0

それはSet appIE = CreateObject( "internetexplorer.application") 'に爆撃されていますか? – GibralterTop

+0

Range( "J6")のテスト値を指定して、そのURLに空でないWebページを返すことはできますか? –

答えて

0

オブジェクトを作成するには、Microsoft Internet Controlsを参照に追加する必要があります。お使いのコンピュータにshdocvw.dllライブラリを登録する必要があります。それはあなたのコンピュータに爆破されている可能性があるため、あなたのラップトップにすでに登録されている可能性があります。

How to register a .dll

MSDN DocumentationC#例の前に最後の文を見てください。

Similar Question

少し遊んで、すべてが登録された確認した後、これは私のPC上で細かな走りは:

Public Sub ie() 

    Dim ieApp As SHDocVw.InternetExplorerMedium 
    Dim html As HTMLDocument 

    Set ieApp = New SHDocVw.InternetExplorerMedium 

    ieApp.Visible = True 

    ieApp.Navigate "http://internalAddress/" 

    Do While ieApp.Busy Or ieApp.ReadyState <> 4 
     DoEvents 
    Loop 

    Set html = ieApp.Document.getElementById("myID") 

End Sub 
+0

'shdocvw.dll'のコピーがここにあります:' C:\ Windows \ System32' – GibralterTop

関連する問題