Does it have to be a macro? You can right-click on a part and choose "Fix" from the drop-down. That will lock it in place.
I am not wanting to "fix" the part in space, i am wanting to prevent any unwanted edit's from happening if i use the asm in the context of another new asm!
The "freeze bar" of the part file is what I am talking about! would be great if solidworks had such a feature for an asm.
I have found a macro to do this but now sw crashes when I try to open the macro...grrrrr