VBScript で GUID 文字列を生成したいと考えています。VBScript には、関数を生成するための組み込み関数がないことはわかっています。ランダムに生成された GUID を使用したくありません。GUID を生成できる (新しい) Windows バージョンに確実にインストールされる CreateObject() を使用して作成できる ActiveX オブジェクトがあるのではないでしょうか?
43059 次
4 に答える
53
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)
于 2009-06-09T08:12:16.813 に答える
33
スクリプトを使用して GUID を作成するにはどうすればよいですか? (Hey, Scripting Guy! ブログで)は次のように述べています。
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
ただし、 Scriptlet.TypeLib.Guid は null で終わる文字列を返すことに注意してください。これにより、 GUID の後のすべてが無視される場合があります。これを修正するには、次を使用する必要がある場合があります。
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
于 2009-06-09T08:05:57.030 に答える
8
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
于 2012-09-29T00:00:43.647 に答える
2
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid
于 2009-06-09T08:07:35.687 に答える