Comment générer un GUID en VBScript?
je veux générer des chaînes de GUID dans VBScript. Je sais qu'il n'y a pas de fonction intégrée dans VBScript pour en générer une. Je ne veux pas utiliser des GUIDs générés au hasard. Peut-être qu'il y a un objet ActiveX qui peut être créé en utilisant CreateObject() qui est sûr d'être installé sur les versions (plus récentes) de Windows qui peuvent générer un GUID?
4 réponses
comment créer une interface graphique en utilisant un Script? (dans: Hey, le scripteur! Blog) dit ceci:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
Toutefois, notez que le Scriptlet.La bibliothèque de types.Guid renvoie une chaîne à fin nulle, qui peut causer certaines choses à ignorer tout après le GUID . Pour corriger cela, vous pourriez avoir besoin d'utiliser:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
Function CreateGUID
Dim TypeLib
Set TypeLib = CreateObject("Scriptlet.TypeLib")
CreateGUID = Mid(TypeLib.Guid, 2, 36)
End Function
cette fonction retournera un GUID simple, par exemple, 47BC69BD-06A5-4617-B730-B644DBCD40A9
.
si vous voulez un GUID dans un format de Registre, par exemple, {47BC69BD-06A5-4617-B730-B644DBCD40A9}
, changez la dernière ligne de la fonction en
CreateGUID = Left(TypeLib.Guid, 38)
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid