这是我的代码
Sub loadrss()
Dim http As Object, html As New HTMLDocument, topics As Object, titleElem As Object, topic As HTMLHtmlElement, i As Integer
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "http://antt.vn/rss/trang-chu.rss", False
http.send
html.body.innerHTML = http.responseText
Set topics = html.getElementsByTagName("Item")
i = 55
For Each topic In topics
Sheet7.Cells(i, 15).Value = topic.getElementsByTagName("title")(0).innerText
Sheet7.Cells(i, 16).Value = topic.getElementsByTagName("link")(0).innerText
Sheet7.Cells(i, 17).Value = topic.getElementsByTagName("pubDate")(0).innerText
i = i + 1
Next
End Sub
但它会警告此行的错误
Sheet7.Cells(i, 15).Value = topic.getElementsByTagName("title")(0).innerText
我不知道怎么修,请帮帮忙!!!
2条答案
按热度按时间62o28rlo1#
请尝试以下代码。它应该获取你所需要的所有值。
或者,如果你想坚持
.getElementsByTagName()
,那么:要添加到库中的引用:
qacovj5a2#
我认为您需要研究DOM模型与XML的关系。否则,您最终将不得不尝试沿着
topics(0).OwnerDocument.DocumentElement.outerText
的行从OwnerDocument
沿着提取信息我是新来的,所以我愿意接受反馈,但以下是我会采取的路线。
@Vityata在这里有一个很好的节点选择示例:Select a single node XML object using VBA
这里有一个例子,让你开始提取pubDates。
参考文献(没有特定的顺序-这是我快速浏览以获得导航的内容):