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.
Sounds like you're just copying a template to new files based on a csv? You don't have to edit anything inside the word files at all?
If that's the case, just load the csv file, I think the command is Read-Content, loop through each line, split by ',' parse whatever name data you need and copy your template.docx to your new file.docx
Does it have to be a Word template? If you can get that into a plain text format this will be much easier. There may be a module that you can download online otherwise you are probably going to have to do some painful parsing after you import the file using "Get-Content".
Do you have any code written? This sounds like something that ChatGPT could probably handle pretty well.
Yeah, I looked at the plain text of a .dotx file. That's unparsable. The other poster probably has the right idea on how to get information out of the file.
For csv import, use import-csv and loop on the results:
Import-csv myfile.csv | foreach-object {
Templates should be easy, just copy the template to a new file with the docx extension. Use one of the columns (in this case "name" as the column header,) from the csv for the name:
So I'm new to all this. When I enter the first command with my csv file and doc file included, it just opens the word doc. Wasn't sure what I should do next.
If the Excel/CSV sheet is actually a CSV file, Import-Csv in powershell will return the content as an array of objects, where each row is one element in the array.