Thanks for the tips, it's a shame about the lack of file manipulation functions - but not the end of the world. Putting the script in the template and running it from there is the approach I have gone with, just thought it would have been nice for the script to handle the file creation and saved a couple of clicks (lazy I know!)
One other question though - the script selects objects on an imported layer and copy & pastes them to a different layer. I want to paste it in the middle of the "page" as the template contains viewports targeted at this layer. When it was manual I'd just click in the middle and then paste. The closest I've got so far with scripting is
DoMenuTextByName('Fit To Window',0);
DoMenuTextByName('Paste',0);
and it works mostly but every now and then it pastes off centre. Is there a better way to do it?