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

时间:2014-09-01 07:19:32

标签: qtp

我在qtp中使用GetCellData对象的WebTable方法来获取webtable的每个单元格值,该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)

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

  

错误:指定的单元格不存在。"

更多信息:

  1. 通常第一行有此错误:

      

    请输入搜索。

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

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

  4. for循环中的
  5. i = 2因为我不想要第一行,因为它包含标题。

  6. 已经坚持了一段时间,非常感谢任何帮助!

1 个答案:

答案 0 :(得分: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