51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] QTP对EXCEL的操作(使用SQL语句对EXCEL操作&QTP利用EXCEL宏)

[复制链接]
  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2010-8-3 10:45:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 feiyunkai 于 2010-12-20 18:14 编辑

    今天看了个帖子,VBS脚本怎样对EXCEL排序,我回复了2个方法,感觉可能对大家有用,所以把回复的内容独立出来,希望对大家有所帮助,谢谢!(原帖连接:http://bbs.51testing.com/viewthread.php?tid=280755&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D12
    一、创建ADO对象,把EXCEL当作数据库对EXCEL中数据进行(增、删、改、查)
    具体代码如下(若想对EXCEL进行增、删、改、查,修改红色部分的SQL语句即可):
    '以下代码是按username 倒序输出usernamepassword
    filepath="D:\test.xls"
      '这里输入EXCEL的实际路径
    Set conn= createobject("ADODB.Connection")  '创建ADO对象
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&filepath&";Extended Properties=Excel 8.0"    'ADO连接字符串8.0
    EXCEL97-2003
    Set rs=CreateObject("ADODB.Recordset")  '创建记录集
    rs.Open "Select username,password from [Sheet1$] order by username desc",conn    '这里的SQL语句与SQL中的区别是表名后要加个美圆符号$
    Do
    If not rs.eof Then
            username=rs("username")  
            password=rs("password")
            print "username
    "&username&"   password"&password
            rs.MoveNext
    else
            msgbox "
    没有记录"
    End If
    loop until rs.eof=true
    conn.close
    Set rs=nothing
    Set conn = nothing


    '修改EXCEL数据:

    filepath="D:\test.xls"
    Set conn= createobject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&filepath&";Extended Properties=Excel 8.0"
    Set rs=CreateObject("ADODB.Recordset")
    rs.Open "update [Sheet1$] set username='修改后内容' where username='finger07'",conn
    conn.close
    Set rs=nothing
    Set conn = nothing

    '附加说明
    '若要打开EXCEL2007,需要修改连接字符串(橘黄色部分),修改为:"Provider=Microsoft.Ace.OLEDB.12.0;Data Source="&filepath&";Extended Properties=Excel 12.0"  

    二、利用EXCEL宏,对数据进行各种操作(具体操作要预先录制成宏,然后使用VBS调用宏即可)
    步骤一:录制排序的宏(EXCEL2007录制宏步骤:点击视图,点击宏,点击录制宏,输入宏名称(假设取名为:paixu),点击确定,然后对EXCEL进行排序操作,排序完点击停止录制,保存EXCEL
    步骤二VBS中调用宏,代码如下:
    Set excel=CreateObject("excel.application")
    Set excelbooks=excel.Workbooks.Open("D:\test.xls") '
    D:\test.xls修改为EXCEL所在路径
    excel.DisplayAlerts = False  '
    设置EXCEL静默保存
    excel.Run"paixu"  '
    这里的paixu为刚才录制的宏的名称
    excelbooks.Save                    
    excelbooks.Close
    excel.Quit
    Set excelbooks=Nothing
    Set excel=nothing






    [ 本帖最后由 feiyunkai 于 2010-8-6 17:57 编辑 ]
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2010-8-3 13:29:48 | 只看该作者

    回复 1# 的帖子

    读过,楼主辛苦了。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2010-8-3 16:13:45 | 只看该作者
    好厉害
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-8-5 15:40:33 | 只看该作者
    读过你的帖子,你总能分享心得和代码给大家,佩服你的严谨作风
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2010-8-5 15:59:41 | 只看该作者
    好厉害啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2010-9-2 17:06:59 | 只看该作者
    学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-13 11:02
  • 签到天数: 55 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2011-7-21 15:02:21 | 只看该作者
    呵呵,读完了,但是其中有地方没明白。

    If not rs.eof Then
            username=rs("username")  
            password=rs("password")
            print "username:"&username&"   password:"&password
            rs.MoveNext
    else
            msgbox "没有记录"
    End If
    这个地方的判断语句是什么意思,是打开的文件不为空,然后进行的赋值?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-13 11:02
  • 签到天数: 55 天

    连续签到: 1 天

    [LV.5]测试团长

    8#
    发表于 2011-7-21 15:02:27 | 只看该作者
    呵呵,读完了,但是其中有地方没明白。

    If not rs.eof Then
            username=rs("username")  
            password=rs("password")
            print "username:"&username&"   password:"&password
            rs.MoveNext
    else
            msgbox "没有记录"
    End If
    这个地方的判断语句是什么意思,是打开的文件不为空,然后进行的赋值?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-13 11:02
  • 签到天数: 55 天

    连续签到: 1 天

    [LV.5]测试团长

    9#
    发表于 2011-7-21 15:04:01 | 只看该作者
    还有对excel录制宏的步骤没明白
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

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

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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