51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2935|回复: 4
打印 上一主题 下一主题

[求助] QTP读取Excel,把读取Excel的代码写到VBS文件里面,在QTP里面如何循环显示所有的值

[复制链接]
  • TA的每日心情
    奋斗
    2015-4-17 14:03
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2015-5-19 14:53:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    代码是从网上找的可以执行通过
    vbs里面的代码
    '========================================
    '名     称:QTP_ReadExcel
    '作     用:从Excel读数据
    '参     数:sFileName:EXCEL文件名     sSheetName:Sheet表名
    '返回值:把EXCEL变为2维数组返回
    '========================================
    Function QTP_ReadExcel(sFileName,sSheetName)
           Dim oExcel
           Dim oSheet
           Dim oRange
           Dim arrRange

           On Error Resume Next
          ' 创建Excel应用程序对象
           Set  oExcel = CreateObject("Excel.Application")
                  If err.Number <> 0 Then
                         MsgBox "未能初始化Excel" & vbCrLf & "请确保Excel已安装", vbCritical
                         Exit Function
                  End If
           On Error GoTo 0

           On Error Resume Next
          ' 打开Excel文件
           oExcel.Workbooks.Open(sFileName)
            If err.Number <> 0 Then
                   MsgBox "未能加载Excel文件" & vbCrLf & "请确保Excel文件路径正确或格式正确", vbCritical
                   Exit Function
            End If
           On Error GoTo 0

           ' 获取表格的使用范围
           Set  oSheet = oExcel.Worksheets(sSheetName).UsedRange
          ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
           Set  oRange = oSheet.Range("A1:Z1000")
          '把Excel数据转换到数组
           arrRange = oRange.Value
          ' 关闭工作簿
           oExcel.WorkBooks.Item(1).Close

           ' 退出Excel
           oExcel.Quit
           Set  oExcel = Nothing
           ' 返回包含Excel数据的数组
           QTP_ReadExcel = arrRange
    End Function


    QTP里面写的代码
    Executefile"E:\vbs\readExcel.vbs"
    arrExcel  = QTP_ReadExcel("E:\vbs\122.xlsx","sheet1")
    print arrExcel(1,2)

    问题是我想循环使用arrExcel里面的值,这个怎么使用

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-4-17 14:03
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
     楼主| 发表于 2015-5-19 16:45:43 | 只看该作者
    怎么没有人帮我
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2015-5-19 17:46:14 | 只看该作者
    arrExcel(1,2) 外面加层循环
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-4-17 14:03
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
     楼主| 发表于 2015-5-19 18:54:56 | 只看该作者
    赵佳乐SMILE 发表于 2015-5-19 17:46
    arrExcel(1,2) 外面加层循环


    我用这个循环但是不执行

    Executefile"E:\vbs\readExcel.vbs"

    Dim arrExcel
    arrExcel  = QTP_ReadExcel("E:\vbs\122.xlsx","sheet1")
    Dim demp
    For i=1 to i=3
    demp=""
    For j=1 to j=3
            demp=arrExcel(i,j)
    Next
    print demp
    Next
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2015-5-19 19:05:36 | 只看该作者
    DataTable参数化,或者利用 For循环。还有注意设置Test的运行方式和Action的运行方式。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 15:53 , Processed in 0.070470 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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