2012-07-03 3 views
2

Я пишу код VBA, который управляет HTML-документом. Документ открывается в виде текста, чтобы можно было работать с HTML. Таким образом:getElementByID в документе Word

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

Вы можете выбрать альтернативу? –

+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 
Смежные вопросы