0
我有以下VB Scrtip,我在Excel中使用生成一個GUID。理想情況下,我希望GUID基於不僅隨機創建的日期時間。無論如何修改這個腳本來建立基於日期和時間的GUID?VB腳本創建基於創建日期時間的GUID
Private Type GUID
Data1 As Long
Data2 As Long
Data3 As Long
Data4(8) As Byte
Private Declare Function CoCreateGuid _
Lib "ole32.dll" _
(ByRef pGUID As GUID) As Long
Private Declare Function StringFromGUID2 _
Lib "ole32.dll" _
(ByRef rGUID As Any, _
ByVal lpstrCLSID As Long, _
ByVal cbMax As Long) As Long
Function CreateGUID() As String
Dim b() As Byte
Dim BuffSize As Long
Dim RetVal As Long
Dim MyGUID As GUID
BuffSize = 40
ReDim b(BuffSize * 2) As Byte
RetVal = CoCreateGuid(MyGUID)
RetVal = StringFromGUID2(MyGUID, VarPtr(b(0)), BuffSize)
CreateGUID = Left$(b, RetVal - 1)
End Function
非常感謝
你到底是什麼?有一些GUID實現可以用時間戳替換data4的最後部分,並且有連續的GUID。爲什麼你需要它們不要處於它們自然的隨機狀態? – 2011-12-16 17:00:11
我知道它可以用CombGuid來完成。但不能找出使用VBS的方式。我寧願使用這種CombGuid格式來避免索引碎片。再次感謝。 – Ross 2011-12-19 09:15:08