Pregunta

Quiero generar cadenas GUID en VBScript. Yo sé que no hay incorporado en función de VBScript para generar una. No quiero utilizar GUID generado por el azar. Tal vez hay un objeto ActiveX que se pueden crear utilizando CreateObject () que es seguro para ser instalado en las versiones de Windows (nuevos) que pueden generar un GUID?

¿Fue útil?

Solución

¿Cómo puedo crear un GUID utilizando un script? (En: ¡Eh, chicos del scripting Blog) dice lo siguiente:

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

Sin embargo, tenga en cuenta que Scriptlet.TypeLib.Guid devuelve una cadena terminada en cero, lo que puede causar que algunas cosas que ignorar todo después de que el GUID . Para corregir esto, puede que tenga que utilizar:

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

Otros consejos

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

Esta función devolverá una llanura GUID, por ejemplo, 47BC69BD-06A5-4617-B730-B644DBCD40A9.

Si quieres un GUID en un formato de registro, por ejemplo, {47BC69BD-06A5-4617-B730-B644DBCD40A9}, cambie la última línea de la función

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

Puede Gen GUID aleatorio través de este objeto => "Scriptlet.Typelib"

Ayuda Enlace => Con ... Fin

Aquí es mi manera =

With CreateObject("Scriptlet.TypeLib")
'' For Del This = {}
 WSH.Echo mid(.Guid ,2, 36)
 WSH.Echo (.Guid)
End With
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top