Here is a concept using HTA. Still not perfect but provides the standard windows print dialog box so that some controls are available such as portrait vs landscape and number of copies.
The "Print" subroutine should be usable as-is for most dialog boxes. You just need to put a print button in your dialog then set up a dialog handler to call the "Print" subroutine when the print button is selected. The dialog handler needs to have three parameters. The name of the dialog being printed, the name of the print button (or any other object you might choose to use). The third and last parameter is an optional "1" if you want the print process to autocomplete printing to the default printer rather than displaying the standard windows print dialog.
You will probably find that there is header and footer information printing along with the dialog. The header and footer are from Internet Explorer. hta is tied to IE and you can control the header and footer contents via Internet Explorer > File > Page Setup...
Hope this makes sense and that someone finds it useful.
A few homemade utilities