NULL-Zeiger als Parameter übergeben
Veröffentlicht am 30.12.2003
Einige API-Funktionen verlangen einen NULL-Zeiger als Parameter, den VBA allerdings nicht zur Verfügung stellt. Diese Art Parameter darf leider nicht durch einen einfachen leeren String („“) ersetzt werden, denn ein leerer String ist lediglich ein gültiger Wert vom Typ String.
Um einen NULL-Zeiger zu übergeben, deklarieren Sie zunächst die Funktion mit einem ByVal-Parameter vom Typ Long bzw. Any. Als Funktionargument geben Sie dannByVal 0& bzw. die VBA-Konstante vbNullString an.
Der API-Funktion MessageBox übergeben Sie beispielsweise einen NULL-Wert als erstes Parameter, wenn das Meldungfenster keinem aktiven Fenster zugeordnet werden soll:
Declare Function MessageBox Lib "user32" _
Alias "MessageBoxA" (ByVal hwnd As Any, _
ByVal lpText As String, ByVal lpCaption As String, _
ByVal wType As Long) As Long
Dim ret As Long
ret = MessageBox(vbNullString, "Guten Morgen!", "Testmeldung!", 0)