Visual Basic Word从网站获取元素

时间:2014-01-08 19:44:21

标签: vba ms-word web

我正在尝试将文本从网站的特定div导入到Word文档中的书签,我一直在阅读网站上的HTML。我为VBA Excel尝试了100个教程(也许这就是为什么)并且总是相同的结果。

假设我有一个类似的网站:

<html>
 <div id = "test">
  this is an example text
 </div>
</html>

这是我的VBA代码:

Sub read_html()
Set objIE = CreateObject("InternetExplorer.Application")

Dim htmlOut As String
    With objIE
        .Navigate "http://blabla.net/testy/test.html"
        Do
        Loop Until Not .Busy
        htmlOut = .Document.getElementsByName("test")
        .Quit
    MsgBox "example:" & htmlOut
    End With
Set iexpl = Nothing
End Sub

MsgBox返回:example [object]

1 个答案:

答案 0 :(得分:0)

getElementsByName将返回具有该名称的所有元素的集合。即使只有一个,它仍然会返回一个集合。只是一个包含一个项目的集合。您可以获得集合中的第一个元素,如

htmlOut = .Document.getElementsByName("test").Item(0).InnerText

.Item(0)将返回第一个项目,.InnerText将返回一个字符串。