Я хочу заменить функцию CreateObject () по умолчанию в VBScript своей собственной.
В основном этот пример в VB6:
http://www.darinhiggins.com/the-vb6-createobject-function/
Я не могу понять, что это за строка:
Set CreateObject = VBA.CreateObject(Class$, ServerName$)
Как я могу сослаться на «VBA» в VBSript?
Ссылка не работает. У вас есть обновленная?





Я не думаю, что вы можете переопределить его, чтобы весь код использовал его, только ВАШ код.
В этом случае не имеет значения, как он называется (если у вас нет тонны существующего кода, который вы не можете изменить). Можете ли вы назвать это CreateObjectEx () или ExCreateObject () или что-то в этом роде? Попросите эту функцию добавить всю вашу обработку ошибок и тому подобное, а затем развернуться и вызвать основной / основной метод 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
Никаких гарантий! ;-)
Я вижу, что вы новичок на сайте, поэтому беру на себя смелость предложить пометить свое решение как принятое, если оно вам подходит. :-)