Visio® 2003 Developer's Survival Pack
Home   This page


Visio 2003 Developer's Survival Pack is a book for developers using Microsoft Visio® as a platform for building diagrammatic software applications for business, I.T., science and engineering.  Accompanying software tools provide crucial views inside Visio, and provided samples and components ease many tasks facing Visio solution developers.

Quick Info

Ordering Information.

Title: Visio 2003 Developer's Survival Pack
ISBN: ISBN 1-4120-1112-4

Pages: 522
Now available
Order From: 
US $49.95

Special note on where to order if you are in a hurry: A number of customers have noted that ordering through Amazon can be slow. This is because Amazon's interface to print-on-demand vendors is not as efficient as it might be. Other online vendors may be faster, and I'm happy for you to order from them. However, Trafford will be among the fastest -- please don't let the "foreign location" put you off.  Reader Avi N in Israel was experiencing delay from "big name" vendor, and after ordering from Trafford, emailed me to say: "You were right. Book arrived today. Can trust Canadians :-)".


Developers seeing opportunities to leverage Microsoft Visio's programmable diagramming environment need to be able to design and build their applications quickly and sure-footedly -- achieving business-serving results in a business-compatible timeframe.

To that end, this book and set of tools is organized around the premise that developers will have the following interests and needs:

Visio Structure: An organized and comprehensive presentation of Visio's document and user-interface object models including the all-important ShapeSheet.


Browsable Reference Material: There's lots of info in Visio's Developer Help,  but it will take you forever to digest enough of it to get the big picture. To greatly accelerate the process, this book includes a "browsable" reference section -- objects, properties, methods and shapesheet cells and functions tabulated in an order which brings related items together. You'll still use Help, but with this book you can rapidly skim over and locate features of interest to your task at hand.
Visio Behavior:  The power beneath the surface. Work with it, not against it!   Investigation of numerous key areas of Visio behavior, at a level which uncovers many subtleties not evident from simply using the product. 
Solution Architectures ... for adding functionality to Visio. Several alternative forms are possible. Read why "VSL Addons" are still the preferred form for many kinds of application. VSLs have traditionally required C/C++, Delphi, or some other language capable of working with Automation and producing arbitrary DLLs. Now, using the "VBVSL_Adapter" component available with this book, VSLs can be built easily with Visual Basic.

The VBVSL foundation allows the book to use Visual Basic samples to illuminate many more topics of interest to Visio-based application-builders. Several sample applications are supplied which you can copy and modify to get your own addons up and running quickly.

The Visio Drawing Control (new in Visio 2003) provides a completely new alternative architecture for Visio-based solutions, and figures in some prominent examples.

Browsing Tools:  The book gives you access to download a suite of browsing tools which you can use to instantly clarify exactly what's going with several of Visio's more elaborate or arcane features, such as EventLists, UIObjects, CommandBars, browse Visio 2002 (and above)'s new XML-format files and so on.  This will vastly accelerate your learning process, and goes a long way to keep your development efforts on track.

Languages Used: This is a book primarily about Visio, and a large part of that topic is Visio's Automation model. Many of the examples in the book are written in Visual Basic 6, for several reasons:

1) Visio's own programming environment is VBA, which for almost all intents and purposes is the same as VB6. Since you most definitely be needing exercise Visio's features using VBA, it's impossible to avoid providing examples in VB6/VBA.

2) VB6/VBA almost always illustrate Visio Automation topics with less distraction from the clutter of Automation plumbing than other languages (such as C++).

That said, some readers are probably using one of the VS.NET language. For that reason, quite a few of the examples are also provided in C#. Not all of the examples are provided in C# however, and there are none in VB.NET, so some translation will be necessary. These are mostly issues relating to how the VS.NET languages interact with COM Automation in general -- topics that are by no means limited to Visio. Though the topic of general programming in VS.NET languages is outside the scope of this book, I am fairly sure that all the nonobvious VS.NET-and-Automation tricks that relate to Visio are covered in one or another of the C# examples provided.

(In case it's of concern, the tools are all written in Borland Delphi and are not dependent on .NET Framework or any particular generation of Microsoft dlls. Their installation is trivial, requires no commitment to installation of dlls, nor impacts the registry.)

Relationship to Previous Editions

Inevitably, there is some overlap between the new book and my previous ones.  Of the "foundation" chapters that are similar in the new book, each one has been updated to reflect changes in Visio, bugs fixed (and opportunities thereby enabled), and the new browsing tools are integrated where they apply. You can survey the differences by studying the respective tables of contents. Where possible, I've provided the sample documents in VDX or Visio 2002 form, so that readers not yet equipped with Visio 2003 should be covered.

Relationship to "Developing Visio Solutions"

In many previous releases of Visio, the Visio group released a publication called "Developing Visio Solutions". This has appeared online in the MSDN documentation tree, and for Visio 2002 was available in print form from Microsoft Press (hence in some bookstores). DVS also includes some software samples and components that may be of use to developers.

Developing Visio Solutions was last seen online in the msdn library tree at:
Office Solutions Development
  Microsoft Visio
    Visio 2002
      SDK Documentation

The main URL for Visio at MSDN is: Microsoft Visio

Visio 2003 Developer's Survival Pack (V2003DSP) avoids duplicating a lot of great material that's in DVS, since readers can easily get that for free. While DVS does a great job on introducing all the Visio programming basics (how to use the ShapeSheet, Automation programming with VBA etc), V2003DSP builds beyond that to focus on the needs of developers at intermediate-to-advanced levels.

If you are completely unfamiliar with Visio's ShapeSheet, or with VBA and Automation, you'll definitely need DVS.  If you are already familiar with Visio as a user, comfortable with basic ShapeSheet ideas and Automation programming in general, then V2003DSP will help you rapidly consolidate your understanding of Visio structure and behavior.

When you want to start building additional functionality, you'll definitely want to consider V2003DSP's solution architecture coverage. The discussions of the various architecture and UI choices will save you significant detours if considered early in your development process.

The Author, Graham Wideman

I have over 27 years of experience in electrical engineering, software development, information systems, business analysis and conceptual modeling.  In each of these disciplines I mastered the formal diagrams, yet in addition I always found the need to generate drawings automatically, and to extend each diagrammatic convention in formal or informal ways to convey richer sets of detail- or summary-level concepts.

Partly to that end, I have been building solutions and tools with diagramming libraries and environments for over ten years, and with Visio for over seven years.  I was also affiliated with the SemNet group centered as San Diego State University.  Over the last 15 years this group has produced basic tools for diagramming general semantic networks and formally studying the teaching and learning benefits in making concepts and relationships explicit.

Since my first Visio book (Visio 2000 Developer's Survival Guide) I have enjoyed developing a number of new relationships with people in the Visio business, both inside and outside Microsoft.... several of which have contributed much to the book described here.

You may sometimes find me on the Visio newsgroups at  I have been recognized for spending way too much time on Visio with a Microsoft Valued Professional (MVP) award.

Downloads and Supporting Info for Book Owners

Now available. Please see the main support page:

Visio 2003 Developer's Survival Pack Support

Microsoft and Visio are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Article Created: 2003-10-01  Last edit: Last edit: 04-10-21 Graham Wideman
Go to: