Word文档中的getElementByID

时间:2012-07-03 19:35:42

标签: vba word-vba

我正在编写一些操作HTML文档的VBA代码。文档以文本形式打开,以便可以处理HTML。因此:

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

HTML包含一些我希望能够通过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函数来执行此操作?

感谢。

1 个答案:

答案 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