Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何使用网页';s源代码_Excel_Vba - Fatal编程技术网

Excel 如何使用网页';s源代码

Excel 如何使用网页';s源代码,excel,vba,Excel,Vba,我想为excel编写一个宏,它将在工作表中显示网页中的源代码。也许我没有使用正确的搜索词,但我发现的只是如何编写宏的示例,一旦提供URL,宏将返回网页的源代码。我有URL和代码,但我不知道如何使用VBA将其输入excel。如果有人能把我和一个合适的例子联系起来,告诉我怎么做,我会非常开朗 该网站是一个打印机设备状态页面,以下是我需要excel显示的源代码: <p id="SupplyPLR0" class="data percentage">50%*</p> <

我想为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>

50%*

60%*

准备好的 11400
该网站本身是打印机的HP设备状态网页


欢迎任何帮助

如果希望在电子表格上显示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
Dim IE作为对象
Dim Doc作为对象
子显示MyInfo()
初始化(“http://www.ILoveMyPrinter.com")
ActiveWorksheet.Range(“A1”)=ReturnOuterHTML(“SupplyPLR0”)
ActiveWorksheet.Range(“A2”)=ReturnOuterHTML(“SupplyPLR1”)
ActiveWorksheet.Range(“A3”)=ReturnOuterHTML(“MachineStatus”)
ActiveWorksheet.Range(“A4”)=ReturnOuterHTML(“BlackCartridge1估计页面保留”)
设置文档=无
设置IE=无
端接头
子初始值设定项(URL作为字符串)
设置IE=CreateObject(“InternetExplorer.Application”)
浏览网址
请稍等,即readyState 4
多芬特
环
Set Doc=IE.document
端接头
函数ReturnOuterHTML(NodeID为字符串)
作为字符串的Dim strHTML
strHTML=Doc.getElementById(NodeID).outerHTML
ReturnOuterHTML=strHTML
端函数
我还没有机会测试它。如果您有任何问题,请告诉我


干杯,LC

非常感谢您的帮助!当我在插入正确的URL后尝试运行此程序时,它告诉我未设置对象变量或with block变量。你知道我该如何解决这个问题吗?不幸的是,我仍然得到同样的错误,仍然试图找出它的原因。不幸的是,它没有指示哪一行返回错误,仍然试图找出它。没有ActiveWorksheet这样的东西。我想这可能是个精神屁,他们指的是活动表。