51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2361|回复: 6
打印 上一主题 下一主题

[讨论] 求教QTP的一个问题!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-18 16:00:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim conn,rst,filename
Dim var
filename="E:\test.xls"
Set conn=createobject ("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&filename&" Extended Properties='Excel 8.0;hdr=yes' "
Set  rst  = createobject("ADODB.Recordset")
rst.Open "select * from [sheet1$]" ,conn,1,1
result = rst.RecordCount
msgbox "RecordCount = " &result
   While Not rst.EOF
    var = rst.fields("a")
    msgbox "Data = " &var
           rst.MoveNext
   Wend
   rst.close
   Set rst = nothing

以上是QTP从EXCEL读入数据的脚本。但,我每次运行到“conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&filename&" Extended Properties='Excel ”,这一句时,就提示“找不到可安装的ISAM”。这是为什么呀?

请各位大侠多多指教!万分感激!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-9-18 16:03:10 | 只看该作者
另外,不知哪位大侠能够提供一些QTP代码学习的资料,我现在会一些基本的录制和回放,但对QTP的代码还是很菜的!
求求大家帮帮我,让我尽快渡过这段痛苦的QTP生涯!sdlkfj7 sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-9-19 13:49:24 | 只看该作者
先顶再看
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-19 14:30:34 | 只看该作者
你要读取的文件是excel文件,但是你创建的对象是数据库文件读取所用的对象,所以会发生错误,你应该创建的对象语句为 CreateObject(Excel.Application),其余的细节你可以参考QTP里面的帮助
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-9-19 15:36:52 | 只看该作者
楼上的兄弟,对于excel信息的读取有两种方式,一种是基于数据的,一种是基于对象的
你说的是对象方式的,楼市用的是数据方式的
我可以提供一下我的对于excel文件读写的vbs,供大家调用,是把excel当作对象处理的方式:

'读Excel文件元素
Public Function QTP_Read_Excel(pathway,sheetname,x,y)
        Dim srcData,srcDoc,ret
        set srcData = CreateObject("Excel.Application")
        srcData.Visible = True
        set srcDoc = srcData.Workbooks.Open(pathway)
        srcDoc.Worksheets(sheetname).Activate
        ret = srcDoc.Worksheets(sheetname).Cells(x,y).value
        srcData.Workbooks.Close
        Window("text:=Microsoft Excel").Close
        QTP_Read_Excel = ret
End Function

'写Excel文件元素并保存退出
Public Function QTP_Write_Excel(pathway,sheetname,x,y,content)
        Dim srcData,srcDoc,sp1,sp2,num,use,a1,a2,a3
        set srcData = CreateObject("Excel.Application")
        srcData.Visible = True
        set srcDoc = srcData.Workbooks.Open(pathway)
        srcDoc.Worksheets(sheetname).Activate
        srcDoc.Worksheets(sheetname).Cells(x,y).value = content
       
'        sp1 = Split(pathway,".")
'        sp2 = Split(sp1(0),"\")
'        num = UBound(sp2)
'        use = sp2(num)

'        Set a1 = Description.Create()
'        a1("text").value="Microsoft Excel - " + use + ".xls"
'        a1("window id").value="0"

'        Set a3 = Description.Create()
'        a3("Class Name").value="WinObject"
'        a3("text").value= use + ".xls"

'        Window(a1).WinObject(a3).Type micCtrlDwn + "s" + micCtrlUp

        Dim WshShell
        Set WshShell=CreateObject("Wscript.Shell")
        WshShell.SendKeys "^s"
        wait(1)
       
        srcData.Workbooks.Close
        Set srcDoc = nothing
       
        Window("text:=Microsoft Excel").Close
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-9-20 09:31:16 | 只看该作者
多谢各位啦!各位还有什么好的方法请继续提!偶在此先谢啦!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-21 14:15:22 | 只看该作者
呵呵,谢谢你的花花
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-28 10:32 , Processed in 0.085567 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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