2016-07-22 3 views

Antwort

1

Alles & vbNullString erhalten Sie die gleiche Zeichenfolge, so dass die beiden Zeilen identisch sein sollten.

Wenn Sie Probleme in dem Programm haben, können Sie versuchen Option Explicit, weil & seltsame Verhaltensweisen im Umgang mit Variant hat. Wenn Sie etwas wie Dim str, a As String geschrieben haben, dann hat str den Typ Variant.

+2

Es ist überhaupt kein "seltsames Verhalten". Der Unterschied ist, dass eine "Variante" "vbEmpty" oder "vbNull" sein kann und eine "String" nicht. Betrachten: "Dim foo As Variante: foo = vbNull & vbNullString: Debug.Print foo = vbNullString" – Comintern

+0

@Comintern Nein, vbNull ist konstant 1 und vbEmpty ist konstant 0. & ist nicht * ziemlich * seltsam, aber es hat ein komplexes Verhalten.Im Grunde konvertiert es beide Variablen in Strings und verbindet sie, wobei 'Empty' und' Null' in beide konvertiert werden 'vbNullString'. –

+1

Haben Sie den Code im Kommentar ausgeführt? Das widerspricht direkt der Behauptung,' vbEmpty' und 'vbNull' würden in' vbNullString' konvertiert. Versuchen Sie diese: 'Debug.Print vbNullString & vbNullString = vbNullString 'True' - 'Debug.Print vbNull & vbNullString = vbNullString 'Falsch' -' Debug.Print vbNull = vbNullString' Typ Mismatch Fehler ' – Comintern

Verwandte Themen