NULL-Werte aus Zeichenketten entfernen
Veröffentlicht am 04.03.2005
Bei API-Funktionen, die ein Parameter des Typs String verlangen, sollte das String-Parameter lang genug für alle möglichen Rückgabewerte initialisiert werden.
Wie im Trick String-Parameter in API-Funktionen beschrieben können Sie den Parameter mit der VBA-Funktion String$ auf die API-Funktion wie folgt vorbereiten:
strTempVerz = String$(255, 0) ‘ String mit 255 NULLs initialisieren
Der Rückgabewert der Funktion wird allerdings mit der vollen Länge zurückgegeben, so dass dem String möglicherweise mehrere NULLen anhängen.
Um dem Wert von diesen übriggebliebenen NULL-Werten zu befreien, setzen Sie den VBA-Befehl Instr ein, der innerhalb eines Strings nach einem bestimmten Zeichen sucht.
Für unsere Zwecke durchsuchen wir den String strTempVerz nach dem Zeichen Chr$(0), das ein NULL-Zeichen darstellt. Die String-Position, an der die Funktion das erste NULL-Zeichen findet, wird der Left-Funktion übergeben, um alle vorhergehenden Zeichen aus der Zeichenkette herauszulösen.
strTempVerz = Left$(strTempVerz, InStr(strTempVerz, Chr$(0)) - 1)