1

Webから情報を取得するためにvbaコードを使用しています。すべてが順調に進んでいますが、とても時間がかかります:(

IEオブジェクトを作成する代わりに、情報を取得する別の方法があることを暗く覚えています。

IEControllsは必要ないと思います。シートから次々にリンクをロードしています。

他の「方法」はどのように機能していますか?XMLHttpのようなものですか?コードに違いはありますか?すべきではない、または?

ありがとう!

4

1 に答える 1

1

これは私が使用するものです:

Function getPage(URLStr As String) As MSHTML.HTMLDocument
    Dim oHttpRequest As MSXML2.XMLHTTP60
    Set oHttpRequest = New MSXML2.XMLHTTP60
    With oHttpRequest
        .Open "GET", URLStr, False
        .send
    End With
    Dim oHTMLDoc As MSHTML.HTMLDocument
    Set oHTMLDoc = New MSHTML.HTMLDocument
    oHTMLDoc.body.innerHTML = oHttpRequest.responseText
    Set getPage = oHTMLDoc
End Function

関数を呼び出すには、次のようなものを使用します。

Dim oHTMLDoc as MSHTML.HTMLDocument
Set oHTMLDoc = getPage("http://www.example.com")

このためには、「Microsoft XML、v6.0」と「MicrosoftHTML Object Library」の両方への参照を追加する必要があります。その後、MSHTMLライブラリを使用して、必要に応じてコードを解析できます。

于 2013-03-25T21:54:32.423 に答える