代码之家  ›  专栏  ›  技术社区  ›  ssakl

如何从独立.vbs文件中的vbscript调用dotnetfactory?

  •  2
  • ssakl  · 技术社区  · 16 年前

    我一直在探索扩展我的快速测试专业脚本功能的选项,并发现 this article 今天早上,我决定做一点实验。当在qtp环境中执行时,下面的代码可以很好地工作,但是我也可以看到在qtp环境之外使用它。不幸的是,它在从独立的.vbs文件运行时会导致错误。

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

    错误为“object required:'dotnetfactory'”

    我以前从vbscript调用过.NET,但没有一个使用过dotnetfactory。代码如

    Set coll = CreateObject("System.Collections.Queue")
    

    不会导致错误。

    是否需要设置DotNetFactory的引用?文章的正文

    我们使用system.datetime作为类型名。 我们不需要指定程序集 因为它已经属于 加载的命名空间__system_ (McCyLab.DLL)。

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

    更新 :正如座右铭所指出的,没有额外的工作是做不到的。文章的引述指出 System.DateTime 不 DotNetFactory 包括在mscorlib中。

    2 回复  |  直到 13 年前
        1
  •  3
  •   Motti    16 年前

    阿法克 DotNetFactory 是qtp创建的对象,不是mscorelib的一部分,正如您在对mikeb答案的评论中所说的。因此,除非qtp已公开prog-id,否则无法从备用vbs文件访问它。

        2
  •  0
  •   Mikeb    16 年前

    可以创建一个dotnetfactory,如:

    Set dnf = CreateObject("Qualified.Name.To.DotNetFactory")
    dnf.CreateInstance("System.DateTime")
    
    推荐文章