2013-06-27 77 views
0

我想爲excel編寫一個宏,該宏將在工作表中顯示網頁中的源代碼。也許我沒有使用正確的搜索詞,但是我發現的所有例子都是如何編寫一個宏,一旦你提供了URL,就會返回一個網頁的源代碼。我有URL和代碼,但我不確定如何使用VBA將其輸入到Excel中。如果任何人都可以把我和一個恰當的例子聯繫起來,或者告訴我如何做到這一點,那麼我會非常感興趣。如何使用網頁的源代碼編寫VBA宏

該網站是一個打印機設備狀態頁,這裏是源代碼,我需要賽過顯示:

<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

如果您希望在電子表格中顯示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 

我還沒有機會去測試它。如果您有任何問題,請告訴我。

Cheers,LC

+0

非常感謝您的幫助!當我嘗試在插入正確的URL後運行它時,它告訴我對象變量或塊變量未設置。你知道我會如何解決這個問題嗎? –

+0

嘗試將對象聲明更改爲Dim(剛剛編輯)。 – dennythecoder

+0

不幸的是,我仍然得到同樣的錯誤,仍然試圖找出是什麼原因造成的。 –