如何在VBScript中生成GUID?

时间:2009-06-09 08:02:41

标签: vbscript guid uuid

我想在VBScript中生成GUID字符串。我知道VBScript中没有用于生成一个的内置函数。我不想使用随机生成的GUID。也许有一个ActiveX对象可以使用CreateObject()创建,确保安装在可以生成GUID的(较新的)Windows版本上?

6 个答案:

答案 0 :(得分:47)

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

此函数将返回纯GUID,例如47BC69BD-06A5-4617-B730-B644DBCD40A9

如果您想要注册表格式的GUID,例如{47BC69BD-06A5-4617-B730-B644DBCD40A9},请将函数的最后一行更改为

CreateGUID = Left(TypeLib.Guid, 38)

答案 1 :(得分:32)

How Can I Create a GUID Using a Script? (in: Hey, Scripting Guy! Blog)说:

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

但是,请注意Scriptlet.TypeLib.Guid返回以空字符结尾的字符串,这可能会导致某些内容发送到ignore everything after the GUID。要解决此问题,您可能需要使用:

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

答案 2 :(得分:8)

' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
    CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function

答案 3 :(得分:2)

Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid

答案 4 :(得分:0)

您可以通过此对象生成随机GUID =>“ Scriptlet.TypeLib”

帮助链接=> With...End

这是我的方式=

{
    type: "INC"
}

答案 5 :(得分:-2)

这是最好的方法: 这非常简单。

msgbox mid(CreateObject("Scriptlet.TypeLib").Guid ,2, 36)
msgbox (CreateObject("Scriptlet.TypeLib").Guid)