Unless you have 3rd party software, you can't do this entirely within Access, as you've discovered. What you need to do is produce the reports with Docmd.OutputTo rather than with OpenReport.
You need to specify the output file type as Snapshot. If the version of Access you're running doesn't have acFormatSNP defined, you must use "Snapshot Format (*.snp)" ,including the quotes, as the output format type.
Put all the output files (which will have a .snp extension) for the reports into a single folder so you can easily find them. Run the distiller on the .snp and it should convert the entire report at once. (If you use the folder exclusively for this purpose, you can set up a proc to convert everything in the folder.)
It;s a good idea to TRIM() the reportname if it's coming from a table rather than being hardcoded in the OutputTo.
Snapshot is the only format that will work for this; I've tried them all.