查看完整版本: 用GetCellData可以找到文本,但用GetRowWithCellText却找不到该文本所在的行?何解?

marco 2007-10-22 18:35

用GetCellData可以找到文本,但用GetRowWithCellText却找不到该文本所在的行?何解?

比如有个表格,在第3行,第2列有文本 "test"
现在的问题是用 GetCelldata(3,2)可以取到文本 "test"
但反过来用 GetRowWithCellText("test",2)却取不到该行,返回 -1

有谁碰到过这个问题啊??
搞不明白啊!

hsjzfling 2007-10-22 19:38

没遇到过...
你可以先检查下文本"test"中是否包含有空格
再尝试下用GetRowWithCellText("test",2,1)来看看~这个方法偶不太用的~~

marygao929 2007-10-22 22:32

GetRowWithCellText有4个参数,应该是你缺少了参数。

marco 2007-10-23 09:39

[quote]原帖由 [i]marygao929[/i] 于 2007-10-22 22:32 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=762759&ptid=94235][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
GetRowWithCellText有4个参数,应该是你缺少了参数。 [/quote]
是三个参数,其他两个都是可选的

marco 2007-10-23 15:34

顶上去
谁知道啊~~~~

tonyzhangjie 2007-10-23 15:50

GetRowWithCellText这个方法没问题啊,楼主再查看下是不是column数错了或者"text"的内容格式有问题(大小写,空格等)

newdam 2007-10-23 16:32

GetRowWithCellText("test",2,1) ,GetRowWithCellText("test",2)  或者 GetRowWithCellText("test") 都可以返回正确的行数, LZ 是在其他地方出了什么问题吧,不应该是这个函数的问题。

jmy_1981 2007-10-23 17:12

lz能确定函数用对了吗?

如题。

GetRowWithCellText 可以返回第一个和比较内容相符的行号(如果一列里面有多个和比较内容相符的行)。

它有3个参数:
Text:你需要比较的内容
Column(optional):列数,你需要去取返回值的哪一列
StartFromRow(optional):从哪一行开始(如果你有多个比较内容相符的行,这个参数会忽略前面设定的行数,而从起始行开始查找)

lz写的是
GetRowWithCellText("test",2)

是要找第2列当中第一个出现"test"的那一行的行号,是吗?
lz可以先核对一些代码逻辑,在修改。

希望有帮助。

[[i] 本帖最后由 jmy_1981 于 2007-10-23 17:13 编辑 [/i]]

marco 2007-10-23 17:24

[quote]原帖由 [i]jmy_1981[/i] 于 2007-10-23 17:12 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=763896&ptid=94235][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
如题。

GetRowWithCellText 可以返回第一个和比较内容相符的行号(如果一列里面有多个和比较内容相符的行)。

它有3个参数:
Text:你需要比较的内容
Column(optional):列数,你需要去取返回值的哪一列
St ... [/quote]

我是要找第2列!!!!就是找不到啊......

jmy_1981 2007-10-23 17:30

lz你能确定开发在列编写的时候是正序并且二进制编码吗?

如题。

开发没有做插入,或者交换列号,并且是从1开始计数,不是0开始。
lz还可以print其他列对象看看,是不是会有新的发现?

谢谢。

marco 2007-10-23 17:48

[quote]原帖由 [i]jmy_1981[/i] 于 2007-10-23 17:30 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=763945&ptid=94235][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
如题。

开发没有做插入,或者交换列号,并且是从1开始计数,不是0开始。
lz还可以print其他列对象看看,是不是会有新的发现?

谢谢。 [/quote]

问题是用 getcelldata(3,2) 可以得到 “test”
所以说可以肯定 "test"这个文本就在第3行,第2列 而且我看过源代码,没有其他任何空白字符了

hsjzfling 2007-10-23 18:16

回复 11# 的帖子

For iRow = 1 to MaxRowCount
   If xxx.GetCelldata(iRow,2) = "text" then
      msgbox "text 所在行数为:" & iRow
   Else
      msgbox "你看到的并不是实际存在的,也许某个地方存在Bug"
   End If
Next
若能正常输出行数3,则说明是GetRowWithCellText 方法的某个机制问题

zhangqunhe 2008-4-3 10:33

如果表格Load的过程比较慢会出现此类问题,待表格完全显示后,此方法就能正确返回所查文本的行数,希望对此有帮助。

mgs2-007 2008-4-3 12:11

[quote]原帖由 [i]zhangqunhe[/i] 于 2008-4-3 10:33 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=934638&ptid=94235][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
如果表格Load的过程比较慢会出现此类问题,待表格完全显示后,此方法就能正确返回所查文本的行数,希望对此有帮助。 [/quote]
照LS这么说的话,应该GetCellData也找不到才对阿。

anTidd 2008-8-7 09:09

我也遇到了和楼主同样的问题,函数没有问题,我也是可以用GetCelldata得到,但是GetRowWithCellText永远返回FALSE。非常奇怪啊

anTidd 2008-8-7 09:09

而且页面也LOAD完了

没有蛀牙 2008-8-7 16:05

肯定是列设错了,看看表格前面有没有空列
页: [1]
查看完整版本: 用GetCellData可以找到文本,但用GetRowWithCellText却找不到该文本所在的行?何解?