Generates Global Unique ID – when you want to create an identifier which will never repeat all over the word , you will find this usefull.
Original Author: Bogdan Chernyachuk
Returns
Returns Global Unique ID in string format (the same as the format of ClassID written in registry).
API Declarations
Public Type GUID ‘ a structure for Global Uniq. ID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0, 7) As Byte
End Type
Declare Function CoCreateGuid Lib “ole32” (ByRef lpGUID As GUID) As Long
Declare Function StringFromGUID2 Lib “ole32” (ByRef lpGUID As GUID, ByVal lpStr As String, ByVal lSize As Long) As Long
Code
Public Function GetNewGUIDStr() As String
Dim pGuid As GUID
Dim lResult As Long
Dim s As String
'this is a buffer string to be passed in API function
'100 chars will be enough
s = String(100, " ")
'creating new ID and obtaining result in pointer to GUID
lResult = CoCreateGuid(pGuid)
'converting GUID structure to string
lResult = StringFromGUID2(pGuid, s, 100)
'removing all trailing blanks
s = Trim(s)
'converting a sting from unicode
GetNewGUIDStr = StrConv(s, vbFromUnicode)
End Function