51Testing软件测试论坛

标题: 描述里加Set和不加Set的区别是怎样的请高手帮忙解决下。(已解决) [打印本页]

作者: centurystone    时间: 2008-7-11 17:37
标题: 描述里加Set和不加Set的区别是怎样的请高手帮忙解决下。(已解决)
'从外部Excel中读取数据到QTP中
'新建Data.xls文件,将该文件Sheet1标签页中的内容传到QTP的Global表中
datatable.ImportSheet "D:\Data.xls","Sheet1","Global"
'定义变量
Dim  dtvalue,dtsheet
'设置Global为当前使用的Sheet页
set dtsheet=datatable.GetSheet ("Global")
'循环赋值
For i=0 to dtsheet.getrowcount
        '循环获取Global页的值
        dtvalue=datatable("SelectItem","Global")
        '将每次获取的值写入到页面选择框billCountry中
        Browser("Book a Flight: Mercury").Page("Book a Flight: Mercury").WebList("billCountry").Select dtvalue
        '下一条
        dtsheet.setnextrow
Next
'清除Global表中数据
datatable.ImportSheet "D:\Data.xls","Sheet2","Global"

用例中定义了两个变量im  dtvalue,dtsheet
为什么set dtsheet=datatable.GetSheet ("Global")中不加Set就报错,而另一个变量dtvalue=datatable("SelectItem","Global")加了Set却会报错。

[ 本帖最后由 centurystone 于 2008-7-14 09:23 编辑 ]
作者: 小孩    时间: 2008-7-12 15:18
set 是指给对象赋值,给一般的变量赋值就不用,
比如,
wshshell,fso,word程序就要用set
set fso=createobject("scripting.filesystemobject")
set ws=createobejct("wscript.shell")
set word=createobject("word.application")

一般的变量就不用set了,
a=3
b="dskjf"
c(3)=null
作者: 陈能技    时间: 2008-7-12 19:33
datatable.GetSheet ("Global")返回的是对象,要用Set来接受赋值
datatable("SelectItem","Global")返回的是字符串,不用Set。
作者: zte_boy    时间: 2008-7-12 21:22
对象与变量的区别
作者: centurystone    时间: 2008-7-14 09:20
多谢各位前辈指点,小弟明白鸟




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2