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