Writing Great Wizards

Wizards are the user interface of choice for multistep processes, and Microsoft Excel 97 makes it simple to create one. From a user's perspective, a Wizard appears as a set of dialog boxes asking a series of questions. Throughout the questioning, you explain concepts, request input, validate input, and guide the user as they provide information for your process. When information gathering is finished, you use the set of inputs to drive your process. This section focuses on creating the most common type of Wizard using the new Microsoft Excel 97 UserForms.

Developing great Wizards is a superset of developing great dialog boxes. Most of the issues related to Wizard development are the same as those involved in building single dialog boxes, but on a larger scale. Instead of initializing and validating one dialog, you'll initialize a set of dialogs (or pages that appear as separate dialogs). Both initialization and validation can become much more complicated because the number of controls increases and the interrelationships between them can become more complicated. Strategies for managing these complexities are discussed in the upcoming examples. Before looking at a specific example, it is a good idea to study some of the Wizards that ship with Microsoft Excel 97.

Microsoft Excel 97 ships with quite a few Wizards. Some of them are built into the Microsoft Excel 97 executable, but many of them are add-ins created in VBA. You'll see that they can range from very simple to rather complex. The step-by-step Wizard format makes them easy from a user's perspective.

One of the many interesting Wizards provided with Microsoft Excel 97 is the Web Form Wizard shown in the following figure. If you don't see this Wizard on the Tools Wizard menu, you may need to add it through Setup.

The Web Form Wizard walks users through the process of creating a Microsoft Excel 97 form that gathers information and transfers it to a database attached to a Web server. This is a great idea for an Intranet application and shows some of the synergy between Microsoft Excel 97 and the Web. It also happens to be a great Wizard example, so you should explore it before and during your Wizard development projects.

Explaining the specific details required to produce a Web Form from scratch would require a steep learning curve for most users. The Wizard makes the process much simpler, as the complexities are handled by the Wizard code. The user simply provides appropriate inputs, and the Wizard handles the grunt work of producing the various files needed to create a complete Web solution.