You should be able to use COM interoperability , specifically the OpenAsDocument() and Save() methods. You can also use COM interoperability to read from Excel, but using ImprtFrom-CSV would be much easier. Then you just iterate over the file names, and for each one open the template as a document, then save it as the filename.
This is how I use LLMs right now, and there have been a few times it’s been genuinely helpful. Mind you, most of the time it’s been helpful, it’s because it hallucinates some nonsense that gets me in the right direction, but that’s still at least a little better than the duck.