51Testing软件测试论坛

标题: QTP中为什么会提示缺少对象呢? [打印本页]

作者: xhhuang1618    时间: 2009-5-5 15:55
标题: QTP中为什么会提示缺少对象呢?
谁帮我看一下,下面的脚本运行是为什么会出错
Function hanshu(strpath)
        Dim objfso,objset
        Set objfso = CreateObject("Scripting.FileSystemObject")
        If Not objfso.FolderExists(strpath) Then
                set objset = objfso.CreateFolder(strpath)
        else
                '缺少对象:objfso.DeleteFolder
                set objset = objfso.DeleteFolder(strpath)
        End If
        hanshu = objset
End Function

hanshu("c:\new folder")
作者: ls_721521    时间: 2009-5-5 16:05
加断点调试了?去掉断点试试。
作者: xhhuang1618    时间: 2009-5-5 16:10
标题: 回复 2# 的帖子
没加断点啊。
还有一点,虽然有出错提示,但DeleteFolder方法仍然被执行。

[ 本帖最后由 xhhuang1618 于 2009-5-5 16:12 编辑 ]
作者: ls_721521    时间: 2009-5-5 16:42
set objset = objfso.DeleteFolder(strpath) '去掉set
作者: xhhuang1618    时间: 2009-5-5 17:19
标题: 回复 4# 的帖子
谢谢楼上的,问题解决了。
不过你能帮我解释一下,为什么这里不用SET呢?
作者: 南拳王    时间: 2009-5-5 17:52
去不去set都一样的效果,set是为对象或者对象引用赋值的。
作者: ziheng198688    时间: 2009-6-9 10:35
原帖由 ls_721521 于 2009-5-5 16:42 发表
set objset = objfso.DeleteFolder(strpath) '去掉set

objfso.DeleteFolder(strpath)方法没有返回值 所以只要用以下格式就可以了
objfso.DeleteFolder(strpath)




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