在VBScript中重写CreateObject函数

在VBScript中重写CreateObject函数,vbscript,createobject,Vbscript,Createobject,我想用我自己的函数覆盖VBScript中的默认CreateObject()函数 基本上,在VB6中此示例: 我想不出这条线是什么: Set CreateObject = VBA.CreateObject(Class$, ServerName$) 如何在VBSript中引用“VBA”?我认为您不能重写它,以便所有代码都使用它,只有您的代码 在这种情况下,调用什么并不重要(除非您有大量无法更改的现有代码)。你能叫它CreateObjectEx()或execateObject()之类的吗?让这个

我想用我自己的函数覆盖VBScript中的默认CreateObject()函数

基本上,在VB6中此示例:

我想不出这条线是什么:

 Set CreateObject = VBA.CreateObject(Class$, ServerName$)

如何在VBSript中引用“VBA”?

我认为您不能重写它,以便所有代码都使用它,只有您的代码


在这种情况下,调用什么并不重要(除非您有大量无法更改的现有代码)。你能叫它CreateObjectEx()或execateObject()之类的吗?让这个函数添加所有的错误处理等等,然后转过来调用main/core CreateObject()方法

我认为你不能重写它,这样所有代码都会使用它,只有你的代码


在这种情况下,调用什么并不重要(除非您有大量无法更改的现有代码)。你能叫它CreateObjectEx()或execateObject()之类的吗?让此函数添加所有错误处理等,然后返回并调用main/core CreateObject()方法

此快速测试似乎有效

Function CreateObject(className, serverName)
   '---- override the CreateObject
   '     function in order to register what
   '     object is being created in any error message
   '     that's generated
   Dim source, descr, errNum

   WScript.echo "In custom CreateObject"
   If Len(serverName) > 0 Then
      Set CreateObject = WScript.CreateObject(className, serverName)
   Else
      Set CreateObject = WScript.CreateObject(className)
   End If

End Function

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject", "")
path = fso.GetAbsolutePathName(".")

WScript.echo path

没有保证!;-)

这个快速测试似乎有效

Function CreateObject(className, serverName)
   '---- override the CreateObject
   '     function in order to register what
   '     object is being created in any error message
   '     that's generated
   Dim source, descr, errNum

   WScript.echo "In custom CreateObject"
   If Len(serverName) > 0 Then
      Set CreateObject = WScript.CreateObject(className, serverName)
   Else
      Set CreateObject = WScript.CreateObject(className)
   End If

End Function

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject", "")
path = fso.GetAbsolutePathName(".")

WScript.echo path

没有保证!;-)

我看到您是该网站的新手,因此我冒昧建议您将我的解决方案标记为已接受,如果它适合您的话。:-)链接不起作用。您有更新的解决方案吗?我知道您是该网站的新手,因此我冒昧建议您将我的解决方案标记为已接受,如果它适合您的话。:-)链接不起作用。你有更新的吗?