首页 文章

随机“指定的单元格不存在 . ”错误与qtp中的GetCellData方法(webtable)

提问于
浏览
1

我在qtp中使用 WebTable 对象的 GetCellData 方法来获取webtable的每个单元格值,该表格在多个页面中有多行并写入数据表 . 以下是我使用的代码:

For i = 2 to rowct
     For j = 1 to colct
        Datatable.Value(j+1,"sheet1") = trim(frame1.WebTable("table1" ).GetCellData(i,j))
    Next
Next

在for循环之前获取行和列计数,如下所示:

rowct = frame1.WebTable("table1").RowCount
colct = frame1.WebTable("table1").ColumnCount(1)

但有时,我得到一些单元格的以下错误,到目前为止我看不到任何模式,这让我觉得这是一个随机的问题:

错误:指定的单元格不存在 . “

更多信息:

  • 通常第一行有此错误:

请输入搜索 .

  • 错误是在单元级别而不是在webtable / row级别 . 虽然在大多数情况下,我看到当一个单元格出现此类错误时,整个表格(因为我写入数据表格式)具有相同的错误 .

  • 发生此类错误时,我看到提取的行数大于webtable中的实际行数 . 也就是说,如果实际表中有一行,那么我的数据表有5行(依此类推) . 这是随机的 .

for循环中的

  • i = 2 因为我不想要第一行,因为它包含 Headers .

被困在这一段时间,任何帮助都非常感谢!

1 回答

  • 1

    Web表每行可能包含不同数量的单元格,这就是 WebTable.ColumnCount 接受参数(行号)的原因 .

    试试这个:

    For i = 2 to frame1.WebTable("table1").RowCount
         For j = 1 to frame1.WebTable("table1").ColumnCount(i)
            Datatable.Value(j+1,"sheet1") = trim(frame1.WebTable("table1" ).GetCellData(i,j))
        Next
    Next
    

相关问题