I'm assuming that you are able to insert code in those 20 workbooks to implement this. These were just replacements for your existing routines of the same names.

When any user attempts to print, the default print job instruction will be ignored (Cancel = True). But at the same time your PrintDoc routine is called instead. So the user presses print, and gets a printout, except via your add-in. So they do not even have to be aware that there is an add-in; all printing will be sent to it without their being aware.