51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3574|回复: 5
打印 上一主题 下一主题

[Robot] 那个高手给小弟一个Robot调用Excel的完整例子啊

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-5-22 14:06:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在IBM website 上看过但不是很明白,script总有error: ObjectValue is set to nothing.以及应该用那个头文件
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-5-24 19:13:47 | 只看该作者
SQA basic里面?如果是就很简单,你在网上搜vb调excel组件,大把的文章
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-5-25 16:11:12 | 只看该作者
about rational robot datapool function:

there are two localizations on datapool, one is the max row is 256; the other is non-editable.

the suggestion way is to use excel file to replace the datapool.

SQABasicLanguage provide some APIs to conduct excel file which are similar with VB Language, this is example:

dim excel as Object

dim book as Object

dim worksheet as Object

'check the excel application is valid

Set excel = GetObject(,"excel.application")      ;         
    if(excel Is Nothing) then
        Set excel = CreateObject("excel.application")
        if(excel Is Nothing) then
             MsgBox "Couldn't find Excel!"
             Exit Sub
        End if
    End if

Set book = excel.Workbooks.Open(EXCEL_PATH)

Set worksheet = book.Worksheets(SHEET_NAME)

' then you can use variable worksheet to conduct sheet of excel file

' read the data in excel file

ccystring = worksheet.Cells(row,column).Value

' write the data in excel file

worksheet.Cells(row,column).Value = ccystring



the conclusion is:

excel itself can provide some calculation/string function, so it may be more effective than datapool, but till now i can only conduct excel cells with row and column number, so in the codes there will be too many number express cell location, which reduces maintainability of scripts. but it does be a way to do something ~~haha
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-5-25 20:37:21 | 只看该作者
http://bbs.51testing.com ... ighlight=%2Bdjw1999
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-5-29 21:02:50 | 只看该作者
我想用Yahoo上给的function(Excel.zip)不知你们看过没有
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-6-1 08:59:59 | 只看该作者

如Excel文件在C盘根目录下,数据在"Sheet1"页,从第三行读取数据

Sub Main
    Dim ExcelApp    As Object
    Dim ExcelBook   As Object
    Dim ExcelSheet As Object
    Dim intRows      As Integer
    Dim strName     As String
    Dim strPsd        As String

    '创建EXCEL对象
    Set ExcelApp = CreateObject("Excel.Application")
    Set ExcelBook = ExcelApp.Workbooks.Open("C:\data.xls")     
    Set ExcelSheet = ExcelBook.Worksheets("Sheet1")
    ExcelApp.Visible = False
   
    if (ExcelApp is nothing) or (ExcelBook is nothing) or (ExcelSheet is nothing)  then
        ......
    end if
   
    intRows = ExcelSheet.UsedRange.Rows.Count

    For intRows = 3 To intRows-1
        '获取单元格内数据,赋值给变量
        
        '从Excel读取数据,赋值给相应变量
        strName= ExcelSheet.Cells(intRows, 1).Value
        strPsd = ExcelSheet.Cells(intRows, 2).Value

        ......

        Doevents
    Next

    '释放ExcelApp对象
    ExcelBook.Close (True)
    ExcelApp.Quit
    Set ExcelApp = Nothing

End Sub
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 00:32 , Processed in 0.081731 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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