2012-07-03 88 views
2

我在寫一些處理HTML文檔的VBA代碼。文檔以文本形式打開,以便可以處理HTML。因此:getElementByID在Word文檔中

Dim oWordDoc As Word.Document 
Set oWordDoc = Documents.Open(FileName:=strFolder & "\" & strFileName, _ 
    Format:=wdOpenFormatText) 

HTML中包含一些meta標籤,我想能夠通過ID訪問。這是我想嘗試這種代碼:

Dim objHtmlDoc As HTMLDocument 
Dim objMetaTag As HTMLMetaElement 
Set objHtmlDoc = oWordDoc 
Set objMetaTag = objHtmlDoc.getElementById("keywords") 

不過,我得到就行類型不匹配錯誤:

Set objHtmlDoc = oWordDoc 

我試圖設置objHtmlDoc到oWordDoc.content,並獲得同樣的錯誤。無論如何,我可以將Word.Document對象轉換爲HTMLDocument對象,以便我可以將HTMLDocument設置爲Word.Document?或者我將不得不開發自己的getElementbyID函數來執行此操作?

謝謝。

+0

您打開替代品嗎? –

+0

您僅限於VBA/VBScript嗎?這幾乎不適合你的任務。 –

+0

這是我接受過的工具。我可能能夠逃脫使用別的東西。你有什麼建議? –

回答

3

一個替代方案,我建議。

Sub Sample() 
    Dim objHtmlDoc As HTMLDocument 
    Dim objMetaTag As HTMLMetaElement 
    Dim IE As Object 

    Set IE = CreateObject("InternetExplorer.Application") 
    IE.Visible = True 

    IE.navigate "C:\Sample.Htm" 

    Set objHtmlDoc = IE.Document 
    Set objMetaTag = objHtmlDoc.getElementById("keywords") 
End Sub