Visio 2000 Developer's Survival Guide
If you want to build robust, maintainable solutions with Visio's ShapeSheet and Automation development environments, you need to understand Visio's structure and behavior. Not just superficially, but in depth. The key challenges are these: A Comprehensive and Deep Understanding: The Visio environment gives a great head-start to your diagram-intensive solution project. However, a programmable diagramming environment is significantly more involved than, say, the automation models of Excel or Word. It's deceptively easy to get started in Visio, and you can advance a considerable distance with Visio's supplied Developing Visio Solutions book (essential!) and the Developer Help. But before long you'll need to build an extensive and detailed understanding of Visio's numerous functional areas, and that's very hard to assemble one nibble at a time from Help.
The "Subtractive Programming Problem": Even once you've gained some capability with Visio, the other issue you will face is the "subtractive programming" problem. Great that you are able to base your solution on several features of Visio, but how do you disable all the features in Visio's huge array the you don't want exposed to your users? For that you need a knowledge of Visio far beyond just the functional areas directly relevant to your project. And you'll want to cover that territory quickly.
The point of departure for this book is an overview of the Visio environment, and the structures that Visio-based solutions might take. Next, the entire Visio structure is laid out in organized and comprehensive diagrams and tables, so you can absorb it at full speed. Then each major area of Visio structure comes under scrutiny to discover how its behavior can be tamed and harnessed by developers.
See also: Visio 2002 Developer's Survival Pack