They both return the same string but Command returns the string in a Variant.
There are actually quite a few VB functions that do this. The $ at the end indicates the function returns a string while the counterparts return variants.
Any time you see a $ after a function in VB 6, it means that the function is a String version, meaning it returns a value of type String. The version without the dollar sign is a Variant function, which of course means it returns a value of type Variant.
In general, you should always prefer the String versions over the Variant versions.
The dollar sign also means the same thing if it appears after a variable name in lieu of a specified type. Here, it's part of a larger family of shorthand "type declaration characters" that were necessary in earlier versions of BASIC, but firmly antiquated by the time even VB 6 arrived on the scene. For example:
Dim name$
indicates a variable named name that is of type String. The alternative (and preferred!) notation is:
Dim name As String
In case you're dealing with legacy code where these appear, here's the entire list for completeness:
& Long
% Integer
# Double
! Single
@ Decimal
$ String
They both return the same string but Command returns the string in a Variant.
There are actually quite a few VB functions that do this. The $ at the end indicates the function returns a string while the counterparts return variants.
Any time you see a
$
after a function in VB 6, it means that the function is aString
version, meaning it returns a value of typeString
. The version without the dollar sign is aVariant
function, which of course means it returns a value of typeVariant
.In general, you should always prefer the
String
versions over theVariant
versions.The dollar sign also means the same thing if it appears after a variable name in lieu of a specified type. Here, it's part of a larger family of shorthand "type declaration characters" that were necessary in earlier versions of BASIC, but firmly antiquated by the time even VB 6 arrived on the scene. For example:
indicates a variable named
name
that is of typeString
. The alternative (and preferred!) notation is:In case you're dealing with legacy code where these appear, here's the entire list for completeness: