51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2984|回复: 8
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-30 22:37:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

9#
发表于 2010-4-16 17:01:09 | 只看该作者
原帖由 chinafree 于 2010-3-31 12:35 发表



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

注释也没有

能把这个问题给我发一份吗?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-3-31 12:35:54 | 只看该作者
原帖由 shotstar 于 2010-3-31 11:33 发表
呵呵。我说呢。



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

注释也没有
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-3-31 11:33:21 | 只看该作者
呵呵。我说呢。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-3-31 10:57:34 | 只看该作者
'ReadExcelCell',你这个函数能贴出来看一下么?提示类型不匹配,估计是这个函数返回值有点问题,需要看一下函数才能确定问题在哪里,有可能是传递的参数有问题导致结果出错。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-3-31 10:54:41 | 只看该作者
原帖由 chinafree 于 2010-3-31 09:15 发表
难道没人知道吗



分开写,怎么分开呢


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

还是报错
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-3-31 10:13:55 | 只看该作者
set后应该跟一个string类型的字符串,有可能与ReadExcelCell("d:\test.xls","sheet1",i,1)返回的值不匹配

你试试把这句分开写,或许就不报错了
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-3-31 09:15:19 | 只看该作者
难道没人知道吗
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 15:12 , Processed in 0.071472 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表