chinafree 发表于 2010-3-30 22:37:30

qtp读取外部excel数据的问题(已解决)

For i=1 to 10
    InvokeApplication "D:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
    Dialog("Login").WinEdit("Agent Name:").Set ReadExcelCell("d:\test.xls","sheet1",i,1)
    Dialog("Login").WinEdit("Agent Name:").Type micTab
    Dialog("Login").WinEdit("Password:").Set ReadExcelCell("d:\test.xls","sheet1",i,2)
    Dialog("Login").WinEdit("Password:").Type micReturn
Next


为什么运行这段代码就提示

类型不匹配: 'ReadExcelCell'
Line (24): "Dialog("Login").WinEdit("Agent Name:").Set ReadExcelCell("d:\test.xls","sheet1",i,1)".

这个错误呢,这个代码是《qtp项目应用与进阶》P227页的代码,请问错在什么地方呢。

[ 本帖最后由 chinafree 于 2010-3-31 11:31 编辑 ]

chinafree 发表于 2010-3-31 09:15:19

难道没人知道吗

jiejake 发表于 2010-3-31 10:13:55

set后应该跟一个string类型的字符串,有可能与ReadExcelCell("d:\test.xls","sheet1",i,1)返回的值不匹配

你试试把这句分开写,或许就不报错了

chinafree 发表于 2010-3-31 10:54:41

原帖由 chinafree 于 2010-3-31 09:15 发表 http://bbs.51testing.com/images/common/back.gif
难道没人知道吗


分开写,怎么分开呢


改成这样 Dialog("Login").WinEdit("Agent Name:").Set“” +ReadExcelCell("d:\test.xls","sheet1",i,1)

还是报错

shotstar 发表于 2010-3-31 10:57:34

'ReadExcelCell',你这个函数能贴出来看一下么?提示类型不匹配,估计是这个函数返回值有点问题,需要看一下函数才能确定问题在哪里,有可能是传递的参数有问题导致结果出错。

chinafree 发表于 2010-3-31 11:15:22

还是怪我看书不仔细,ReadExcelCell 这个函数的语句没有加上,我晕,

完整的代码如下,已经调试通过

Public Function ReadExcelCell (pathway,sheetname,x,y)
   Dim srcData,srcDoc,ret
   Set srcData = CreateObject("Excel.Application")
   srcData.Visible=false
   Set srcDoc= srcData.Workbooks.Open(pathway)
   srcDoc.Worksheets(sheetname).Activate
   ret = srcDoc.Worksheets(sheetname).Cells(x,y).value
   srcData.Workbooks.Close
   ReadExcelCell = ret
   Set srcData = Nothing
   Set srcDoc = Nothing
End Function

For i=1 to 2
    InvokeApplication "D:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
    Dialog("Login").WinEdit("Agent Name:").Set ReadExcelCell("d:\test.xls","sheet1",i,1)
    Dialog("Login").WinEdit("Agent Name:").Type micTab
    Dialog("Login").WinEdit("Password:").Set ReadExcelCell("d:\test.xls","sheet1",i,2)
    Dialog("Login").WinEdit("Password:").Type micReturn
    Dialog("Login").Close
Next

shotstar 发表于 2010-3-31 11:33:21

呵呵。我说呢。

chinafree 发表于 2010-3-31 12:35:54

原帖由 shotstar 于 2010-3-31 11:33 发表 http://bbs.51testing.com/images/common/back.gif
呵呵。我说呢。


感谢你了,同时报怨一下作者,为什么把 两段代码分开写啊。

注释也没有

hadywei 发表于 2010-4-16 17:01:09

原帖由 chinafree 于 2010-3-31 12:35 发表 http://bbs.51testing.com/images/common/back.gif



感谢你了,同时报怨一下作者,为什么把 两段代码分开写啊。

注释也没有
能把这个问题给我发一份吗?
页: [1]
查看完整版本: qtp读取外部excel数据的问题(已解决)