I tried that and it did not work for me (Kix 4.62). Placing just the macro in the RValue worked, but if it was part of a string, it did not perform the assignment. The Execute instead displayed the macro on the screen and assigned the string text up to the macro to the var.
 Code:
Break On
$ = SetOption('NoMacrosInStrings', 'On')

$Share = '\\server\share\@USERID'
'Share: ' $Share ? ?
$ = Execute('$$Share = $Share')
?
'Use D: ' $Share ?
results in
 Code:
Share: \\server\share\@USERID

First Last
Use D: \\server\share\
Placing just the macro in the RVal in the Execute expands the macro and performs the assignment as expected. Turning the SetOption off causes the execute to choke when it encounters spaces in the string, as Allen mentioned. Usernames here are "First Last".

Glenn
_________________________
Actually I am a Rocket Scientist! \:D