如何使用网页的源代码编写VBA宏

时间:2013-06-27 18:37:17

标签: excel vba

我想为excel编写一个宏,它将在工作表中显示网页的源代码。也许我没有使用正确的搜索词,但我发现的只是如何编写宏的例子,一旦你提供了URL就会返回一个网页的源代码。我有URL和代码,但我不知道如何使用VBA将其输入excel。如果有人可以将我联系到一个如何做到这一点的正确例子或告诉我它是如何完成的,那么我会非常有吸引力。

网站是打印机设备状态页面,这是我需要excel显示的源代码:

 <p id="SupplyPLR0" class="data percentage">50%*</p>
 <p id="SupplyPLR1" class="data percentage">60%*</p>
 <span id="MachineStatus" class="machine-status">Ready</span>
 <strong id="BlackCartridge1-EstimatedPagesRemaining">11400</strong>

网站本身是打印机的HP设备状态网页。

欢迎任何和所有帮助!

1 个答案:

答案 0 :(得分:1)

如果您希望在电子表格中显示HTML,可以尝试以下内容。

Dim IE As Object
Dim Doc As Object

Sub DisplayMyInfo()
    InitializeIE ("http://www.ILoveMyPrinter.com")
    ActiveWorksheet.Range("A1") = ReturnOuterHTML("SupplyPLR0")
    ActiveWorksheet.Range("A2") = ReturnOuterHTML("SupplyPLR1")
    ActiveWorksheet.Range("A3") = ReturnOuterHTML("MachineStatus")
    ActiveWorksheet.Range("A4") = ReturnOuterHTML("BlackCartridge1-EstimatedPagesRemaining")

    Set Doc = Nothing
    Set IE = Nothing

End Sub

Sub InitializeIE(URL As String)
    Set IE = CreateObject("InternetExplorer.Application")
    IE.navigate URL
    Do While IE.readyState <> 4
        DoEvents
    Loop
    Set Doc = IE.document
End Sub

Function ReturnOuterHTML(NodeID As String)
    Dim strHTML As String
    strHTML = Doc.getElementById(NodeID).outerHTML
    ReturnOuterHTML = strHTML
End Function

我没有机会测试它。如果您有任何问题,请告诉我。

干杯,LC