I’m a beginner to Powershell and CLI in general, but this task does not need to use either so I’m open to using other tools.
I’m trying to do the following:
- Create multiple files from a Word template.
- Rename each file based on a list of names found in an Excel/CSV sheet.
Thanks in advance!
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.
Sorry I’m new to this. What exactly do I enter into Powershell for each step?
Nevermind I got it!
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:
$newname = $_.name + '.docx' Copy-item 'template.dotx' $newname }
Hey this worked for me yesterday but now I’m having trouble getting it to work again. It just outputs a Word doc titled ‘.docx’ now.
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.
Actually nevermind that question. Just realized the command was split.
I’m assuming I need to replace the name portion of the 2nd line. What do I input if the data is a list that starts in A1?
I got it now!