对象在vba中不支持此属性或方法运行时错误

时间:2017-12-28 10:53:40

标签: excel vba excel-vba

我遇到了

  

对象不支持此属性或方法

excel vba中的运行时错误。

注意:我的笔记本电脑中的代码工作正常。当我将代码迁移到桌面电脑时发生了这个错误。

以下是更新代码。

Dim ie As InternetExplorer

Dim htmldoc As MSHTML.IHTMLDocument

Dim ro1 As MSHTML.IHTMLElementCollection

Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = False

ie.navigate "url"

Set htmldoc = ie.document

Set ro1 = htmldoc.getElementById("table id").getElementsByTagName("tr")

ThisWorkbook.Sheets(1).Cells(k, j) = rows(k).Children(0).textContent 

ro1(k).Children(0).textContent是错误部分。

我查看了工具 - >参考资料。已检查Microsoft Internet控件和Microsoft HTML对象库。

有人可以为此指导我吗?

2 个答案:

答案 0 :(得分:1)

尝试使用InnerText而不是textContent,看看它是否适合您。

ThisWorkbook.Sheets(1).Cells(k, j) = rows(k).Children(0).InnerText

答案 1 :(得分:0)

首先在模块顶部添加一行Option Explicit,然后在Debug - > Compile添加一行,以识别未正确声明或被滥用的变量和对象,继续编译,直到没有警告为止。

另外,请勿使用 ROWS 一词作为对象名称。 Rows已经意味着在Excel& VBA。

Here is a list of reserved words应该避免。 (我意识到它被标记为Access 2007,但列表非常相似,并且很难找到Excel VBA最近的“官方”列表。)