Tipp 10.3 - GUID erzeugen

Wie kann ich eine eindeutige GUID erzeugen?

Mit dieser Funktion können Sie eine eindeutige GUID erzeugen. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Api-AufrufeVerwendete Win32-Api-Aufrufe und Typen: CoCreateGuid, StringFromGUID2 - TYP_GUID

Beispiel:

Option Explicit
 
Public Type TYP_GUID
            bytes(15) As Byte
End Type
 
Public Declare Function CoCreateGuid Lib "OLE32.dll" _
                       (Guid As TYP_GUID) As Long
Public Declare Function StringFromGUID2 Lib "OLE32.dll" _
                       (Guid As TYP_GUID, _
                        ByVal lpszString As String, _
                        ByVal iMax As Long) As Long
 
Public Function CreateGUID() As String
'// --------------------------------------------------------
'// Methode:   | Erzeugen einer eindeutigen GUID
'// --------------------------------------------------------
'// Parameter: | -
'// --------------------------------------------------------
'// Rückgabe:  | GUID als String
'//            | z.B.:{A7FFA6B1-0377-4A75-8CB9-B95FB5CF545A}
'// --------------------------------------------------------
'// Autor:     | Stefan Kulpa
'//            | EDV Innovation & Consulting - Dormagen
'// --------------------------------------------------------
    Dim uGuid   As TYP_GUID
    Dim sBuffer As String
    Dim lResult As Long
 
    sBuffer = VBA.Space(78)
    CoCreateGuid uGuid
    lResult = StringFromGUID2(uGuid, sBuffer, Len(sBuffer))
    CreateGUID = _
    Left$(StrConv(sBuffer, vbFromUnicode), lResult - 1)
 
End Function