2008-10-23 4 views
0

Я хочу переопределить функцию CreateObject() по умолчанию в VBScript с моим собственным.Переопределение функции CreateObject в VBScript

В основном этот пример в VB6:

http://www.darinhiggins.com/the-vb6-createobject-function/

Я не могу понять, это строка:

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

Как я имею в виду "VBA" в VBSript?

+0

Я вижу, что вы новичок в этом сайте, поэтому я позволю предложить пометить мое решение как принятое, если оно сработает для вас. :-) – PhiLho 2008-10-24 09:24:16

ответ

0

Я не думаю, что вы можете переопределить его, чтобы весь код использовал его, только ваш код.

В этом случае не имеет значения, что называется (если у вас нет тонны существующего кода, который вы не можете изменить). Можете ли вы назвать его CreateObjectEx() или ExCreateObject() или что-то в этом роде? Наличие этой функции добавить все ваши обработки ошибок и такие, а затем развернуться и вызвать метод

4

Это быстрый тест, кажется, работает() главный/основной 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 

нет гарантии! ;-)

 Смежные вопросы

  • Нет связанных вопросов^_^