Question

Je veux générer des chaînes GUID dans VBScript. Je sais qu'il n'y a pas de fonction intégrée dans VBScript pour générer un. Je ne veux pas utiliser GUIDs généré au hasard. Peut-être il y a un objet ActiveX qui peut être créé à l'aide CreateObject () qui ne manquera pas d'être installé sur (les nouvelles versions de Windows) qui peuvent générer un GUID?

Était-ce utile?

La solution

Comment puis-je créer un GUID aide d'un script? (En: Hé, le scripteur blog) dit ceci:

Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid

Toutefois, notez que Scriptlet.TypeLib.Guid retourne une chaîne terminée par zéro, ce qui peut provoquer des choses à ignorer tout ce qui suit le GUID . Pour résoudre ce problème, vous devrez peut-être utiliser:

Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid

Autres conseils

Function CreateGUID
  Dim TypeLib
  Set TypeLib = CreateObject("Scriptlet.TypeLib")
  CreateGUID = Mid(TypeLib.Guid, 2, 36)
End Function

Cette fonction retourne un GUID ordinaire, par exemple, 47BC69BD-06A5-4617-B730-B644DBCD40A9.

Si vous voulez un GUID dans un format de registre, par exemple, {47BC69BD-06A5-4617-B730-B644DBCD40A9}, changer la dernière ligne de la fonction à

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

Vous pouvez Gen GUID aléatoire Cet objet => "Scriptlet.Typelib"

Aide Lien => Avec ... Fin

Voici My Way =

With CreateObject("Scriptlet.TypeLib")
'' For Del This = {}
 WSH.Echo mid(.Guid ,2, 36)
 WSH.Echo (.Guid)
End With
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top