Saving and restoring user colors is always a Bad Idea. The problem is that the user may save that as a template (including the altered user colors). When that template is reloaded all notion of the user's real colors will have been lost; it will be impossible to restore them. That means the ONLY solution for the code is
--EV
Comment