Machine executable viruses are attached to some executable program while a macro virus infects the content of popularly used applications. This means that a macro virus tends to be platform independent and you cannot use traditional file system access controls to keep the virus from spreading.