2008-10-23 9 views
0

Je souhaite remplacer la fonction CreateObject() par défaut de VBScript par la mienne.Substitution de la fonction CreateObject dans VBScript

Fondamentalement cet exemple dans VB6:

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

Je ne peux pas comprendre cette ligne est:

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

Comment puis-je me réfère à "VBA" dans VBSript?

+0

Je vois que vous êtes nouveau sur le site, donc je prends la liberté de suggérer de marquer ma solution comme acceptée si cela fonctionne pour vous. :-) – PhiLho

+0

Le lien ne fonctionne pas. Avez-vous une mise à jour? –

Répondre

0

Je ne pense pas que vous pouvez l'ignorer pour que tout le code l'utilise, seulement votre code.

Dans ce cas, peu importe son nom (sauf si vous avez des tonnes de code existant, vous ne pouvez pas changer). Pouvez-vous l'appeler CreateObjectEx() ou ExCreateObject() ou quelque chose comme ça? Cette fonction ajouter toute votre gestion des erreurs et tels, puis tourner autour et appeler la méthode CreateObject principale/core()

4

Ce test rapide semble fonctionner ...

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 

Aucune garantie! ;-)

Questions connexes