The first part is easy - create a userform in VBA that has your checkboxes, and insert a
userform.show vbModeless
in the appropriate place of your code. That might be the Workbook_Open event handler, if you want to display the form from the get-go.
In the userform.initialize method, for good measure, I'd put code to set all the checkboxes to false (unchecked).
In each of the userform.checkbox#.change events, check whether all checkboxes are checked, and if so, execute an
Unload me to remove the form.
As for disabling printing, saving, and so on - that's a bit more complicated. You can disable the menu items and toolbar icons associated with these choices in your Workbook_Open event handler, and re-enable them just before unloading the form. The close event you can handle through a workbook_beforeclose event, where you can set cancel to true if the user is not allowed to leave (not always good form to do that, though). To keep track of when it is OK to close, you could use a public variable that gets changed when all actions are complete.
Rob
![[flowerface] [flowerface] [flowerface]](/data/assets/smilies/flowerface.gif)