In your solution, you have to rely on the existance of a macro and the filenames always have to be the same. Maybe with some COM scripting, you could create a more flexible and reusable script.