Maybe as a temporary solution for 97 you could just disable the
print preview and only let them actually print the spreadsheet?

Or if the version is 97 you could hide the standard print preview
menu item and toolbar button and then create your own it their
place. This may give you more flexability in controlling the buttons
on the print preview form. you can "FindWindow and
FindWindowEx APIs to get the handel to the buttons and change
the style to disabled or hide them using SetWindowLong.

The only issue to get around would be the modal state of the
print preview window. Your findwindow code will not execute until
the print preview window is closed. To get around this you could
add the FindWindow code in a separate .exe and kick it off right
before you show the print preview window. Then it will be able to
interact with the print preview window without the limitation of
the Modality issue. Then close itself down after the changes are
made to the print preview window. Kind of like using two
programs to simulate multi-threading.

Hope I explained myself well.