Not necessarily.
MyDoc = ActiveDocument.Name can set the value of a Public Variable. MyDoc, used in other routines, will refer to that original value. If that document is closed by the code, how would you delare it in another routine, without hard coding it?
Regards
MD