我一直在探索用于扩展QuickTest Professional脚本功能的选项,今天早晨遇到了this article,所以我决定尝试一下。下面的代码在QTP环境中执行时可以正常工作,但是我可以在QTP环境之外看到这种用法。不幸的是,从独立的.vbs文件运行时,它会导致错误。

Set MyDate = DotNetFactory.CreateInstance("System.DateTime").Now
msgbox MyDate.ToShortDateString()

错误为“所需的对象:'DotNetFactory'”

我以前从VBScript进行过.Net调用,但是没有人使用DotNetFactory。代码如
Set coll = CreateObject("System.Collections.Queue")

不会引起错误。

我是否需要设置对DotNetFactory的引用?文章中的文字

我们使用“System.DateTime”作为类型名称。
我们不需要指定程序集
为此,因为它属于已经
已加载 namespace “系统”
(mscorlib.dll)。

让我这样想,因为脚本编辑器不会自动加载任何内容。如果是这样,我该怎么做?我不是在使用IDE,而是在使用文本编辑器,因此任何引用都必须由脚本本身加载。

更新:正如Motto所指出的,如果没有一些额外的工作就无法完成。文章中的引文指出,mscorlib中包含System.DateTime而非DotNetFactory

最佳答案

AFAIK DotNetFactory是QTP创建的对象,而不是您在对Mikeb答案的评论中所说的mscorelib的一部分。因此,除非QTP公开了prog-id,否则您不能从VBS文件的站立位置访问它。

09-04 08:53