Why not extend JasperD's suggestion.

If your print macros set the value of a public variable you can then check that and print the relevant section or simple cancel the print.