51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5906|回复: 10
打印 上一主题 下一主题

[求助] QTP web测试用vbs脚本生成Excel 报告出错

[复制链接]
  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2013-4-18 10:21:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    5测试积点
    本帖最后由 huadashao 于 2013-4-18 10:30 编辑



    本人新手,copy “tomgets之 QTP导出result到excel ”  帖子上的脚本 ,结果编写EXCEL过程错误,求各位大神指点指点:
    代码:
    '从Report分离的写excel函数
    ' 参数: sStatus      报告的状态分别为FAIL和PASS
    ' 参数: sDetails     注释,用来形容测试内容
    Public Function WriteRep(sStatus,sDetails)
    Dim fso
    Dim oExcel
    Dim ExcelFile
    Dim TestcaseName
    Dim objWorkBook
    Dim objSheet
    Dim NewTC
    Dim Status
    Set fso = CreateObject("scripting.FileSystemObject")
    Set oExcel = CreateObject("Excel.Application")

    Status=UCase(sStatus)
    oExcel.Visible = false 'True  

    TestcaseName = Environment("TCase")
    Set objWorkBook = oExcel.Workbooks.Open(ReportExcelFile)
    Set objSheet = oExcel.Sheets("测试结果")

    With objSheet
    '设置行数和是否NewTc标识
       Environment.Value("Row")  = .Range("C7").Value + 11
       NewTC = False

       If TestcaseName <> objSheet.Cells(Environment("Row")-1,2).value Then
           .Cells(Environment("Row"),2).value = TestcaseName
           .Cells(Environment("Row"), 3).Value = Status
           .Cells(Environment("Row"), 4).value = sDetails
       
        Select Case Status
            Case "FAIL"
                 .Range("C" & Environment("Row")).Font.ColorIndex = 3
            Case "ASS"
                 .Range("C" & Environment("Row")).Font.ColorIndex = 50
                                 Case "WARNING"
                 .Range("C" & Environment("Row")).Font.ColorIndex = 5
        End Select

       NewTC = True
       .Range("C7").Value = .Range("C7").Value + 1
       '设置边界
       .Range("B" & Environment("Row") & "" & Environment("Row")).Borders(1).LineStyle = 1
       .Range("B" & Environment("Row") & "" & Environment("Row")).Borders(2).LineStyle = 1
       .Range("B" & Environment("Row") & "" & Environment("Row")).Borders(3).LineStyle = 1
       .Range("B" & Environment("Row") & "" & Environment("Row")).Borders(4).LineStyle = 1
       '设置字体和颜色
       .Range("B" & Environment("Row") & "" & Environment("Row")).Interior.ColorIndex = 19
       .Range("B" & Environment("Row")).Font.ColorIndex = 53
       .Range("D" & Environment("Row")).Font.ColorIndex = 41
       .Range("B" & Environment("Row") & "" & Environment("Row")).Font.Bold = True


       End If

       If (Not NewTC) And (Status = "FAIL") Then
        .Cells(Environment("Row"), 3).Value = "Fail"
        .Range("C" & Environment("Row")).Font.ColorIndex = 3
       end If
       
       '更新结束时间
       .Range("C5").Value = Time
       
       .Columns("B").Select
       '.Columns("B").Autofit
    End With
    oExcel.ActiveWindow.FreezePanes = True

    '保存结果
    objWorkBook.Save
       oExcel.Quit
    Set objSheet = Nothing
    Set objWorkBook = Nothing
    Set oExcel = Nothing
    Set fso = Nothing

    End Function
    '描述:Report       报告函数
    '用于创建excel文件
    Public Function Report()
    '定义变量
    Dim fso
    Dim oExcel
    Dim ExcelFile
    Dim TestcaseName
    Dim objWorkBook
    Dim objSheet
    Dim NewTC

    Set fso = CreateObject("scripting.FileSystemObject")
    Set oExcel = CreateObject("Excel.application")  

    'oExcel.Visible = false 'True  
       

    '设置Excel报告样式
    If  Not fso.FileExists(ReportExcelFile)Then
        oExcel.Workbooks.Add
       
       '获取工作簿的第一个Sheet页
        Set objSheet = oExcel.Sheets.Item(1)
        oExcel.Sheets.Item(1).Select
       
       With objSheet
        .Name = "测试结果"
        '设置列宽
        .Columns("A:A").ColumnWidth = 5
        .Columns("B:B").ColumnWidth = 35
        .Columns("C:C").ColumnWidth = 12.5
        .Columns("D").ColumnWidth = 60
        .Columns("A").HorizontalAlignment = -4131
        .Columns("A:D").WrapText = True
        '设置显示区域的字体类型和大小
        .Range("A:D").Font.Name = "Arial"
        .Range("A:D").Font.Size = 10
       
        '设置文件头格式
        .Range("B1").Value = "测试结果"
        .Range("B1:C1").Merge
        '设置文件头格式字体和颜色
        .Range("B1:C1").Interior.ColorIndex = 53
        .Range("B1:C1").Font.ColorIndex = 19
        .Range("B1:C1").Font.Bold = True
       
        '设置执行的日期和时间
        .Range("B3").Value = "测试日期:"
        .Range("B4").Value = "执行时间:"
        .Range("B5").Value = "结束时间:"
        .Range("B6").Value = "执行时长: "   
        .Range("C3").Value = Date
        .Range("C4").Value = Time
        .Range("C5").Value = Time
        .Range("C6").Value = "=R[-1]C-R[-2]C"
        .Range("C6").NumberFormat = "[h]:mm:ss;@"
       
        '设置日期和时间cell的边界
        .Range("C3:C8").HorizontalAlignment = 4 '右边对齐
        .Range("C3:C8").Font.Bold = True
        .Range("C3:C8").Font.ColorIndex = 7
        .Range("B3:C8").Borders(1).LineStyle = 1
        .Range("B3:C8").Borders(2).LineStyle = 1
        .Range("B3:C8").Borders(3).LineStyle = 1
        .Range("B3:C8").Borders(4).LineStyle = 1
       
        '设置日期和时间Cell的样式
        .Range("B3:C8").Interior.ColorIndex = 40
        .Range("B3:C8").Font.ColorIndex = 12
        .Range("C3:C8").Font.ColorIndex = 7
        .Range("B3:A8").Font.Bold = True
        .Range("B7").Value = "执行总数:"
        .Range("C7").Value = "0"
        .Range("B8").Value = "测试机器:"
        .Range("C8").Value =GetIP()
        .Range("B10").Value = "测试业务"
        .Range("C10").Value = "结果"
        .Range("D10").Value = "注释"
       
        '为Result Summery设置格式
        .Range("B10:D10").Interior.ColorIndex = 53
        .Range("B10:D10").Font.ColorIndex = 19
        .Range("B10:D10").Font.Bold = True
       
        '为Result Summery设置边界
        .Range("B10:D10").Borders(1).LineStyle = 1
        .Range("B10:D10").Borders(2).LineStyle = 1
        .Range("B10:D10").Borders(3).LineStyle = 1
        .Range("B10:D10").Borders(4).LineStyle = 1
        .Range("B10:D10").HorizontalAlignment = -4131
        .Range("C11:C1000").HorizontalAlignment = -4131
        .Columns("B:D").Select
        ' .Columns("B:D").Autofit
        .Range("B11").Select  
       End With
       oExcel.ActiveWindow.FreezePanes = True
       oExcel.ActiveWorkbook.SaveAs ReportExcelFile
       oExcel.Quit
       Set objSheet = Nothing
    End If

    End Function
    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    最佳答案

    查看完整内容

    1,Environment.Value("Row") = .Range("C7").Value 这个值不是数字,objSheet.Cells(Environment("Row")-1,2).value 运行报错了 2,TestcaseName = Environment("TCase") ,这个是路径不是casename
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2013-4-18 10:21:25 | 只看该作者
    1,Environment.Value("Row")  = .Range("C7").Value
    这个值不是数字,objSheet.Cells(Environment("Row")-1,2).value 运行报错了
    2,TestcaseName = Environment("TCase") ,这个是路径不是casename
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2013-4-18 10:33:14 | 只看该作者
    求大神指点~~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
     楼主| 发表于 2013-4-18 10:35:03 | 只看该作者
    顶一个
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2013-4-18 10:41:22 | 只看该作者
    人烟稀少啊 为啥
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
     楼主| 发表于 2013-4-18 13:35:50 | 只看该作者
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2013-4-19 10:03:46 | 只看该作者
    回复 1# huadashao


        你环境变量里存了些什么东西?
    比如Environment("TCase") 里面存了什么东西?
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2013-4-22 08:26:25 | 只看该作者
    回复 2# jkm168


        多谢前辈指点 ~!!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
     楼主| 发表于 2013-4-22 08:29:54 | 只看该作者
    回复 7# 黑羽祭


        这些都没有被添加环境变量 是要新增环境变量吗  ??
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
     楼主| 发表于 2013-4-22 08:56:41 | 只看该作者
    回复  huadashao


        你环境变量里存了些什么东西?
    比如Environment("TCase") 里面存了什么东西?
    黑羽祭 发表于 2013-4-19 10:03



        使用这个脚本是需要添加环境变量吗
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-10-30 17:12
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
     楼主| 发表于 2013-4-28 14:20:04 | 只看该作者
    回复 2# jkm168


        老兄  为啥网上大家都可以直接这样用啊
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-28 09:04 , Processed in 0.095512 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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