我想用我自己的覆盖 VBScript 中的默认 CreateObject() 函数。
基本上这个例子在VB6中:
http://www.darinhiggins.com/the-vb6-createobject-function/
我不知道是这条线:
Set CreateObject = VBA.CreateObject(Class$, ServerName$)
如何在 VBSript 中引用“VBA”?
我想用我自己的覆盖 VBScript 中的默认 CreateObject() 函数。
基本上这个例子在VB6中:
http://www.darinhiggins.com/the-vb6-createobject-function/
我不知道是这条线:
Set CreateObject = VBA.CreateObject(Class$, ServerName$)
如何在 VBSript 中引用“VBA”?
这个快速测试似乎有效......
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
没有保证!;-)
我不认为你可以覆盖它,以便所有代码都使用它,只有你的代码。
在这种情况下,它叫什么并不重要(除非您有大量无法更改的现有代码)。你可以称它为 CreateObjectEx() 或 ExCreateObject() 或类似的东西吗?让此函数添加所有错误处理等,然后转身并调用主/核心 CreateObject() 方法