2

我正在编写一些操作 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 函数来执行此操作?

谢谢。

4

1 回答 1

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
于 2012-07-03T19:58:49.007 回答