Home » Code, ShapeSheet

Visio 2007 Developer Resources

Submitted by on November 3, 2006 – 10:33 am | | 43465 views 17 Comments

« »

visio-2007-developer-resourcesMicrosoft Visio 2007 has been out for a while now, and it has some great new features for both end-users and developers!

Whether you’re new to Visio solution development, or have been working with older versions, there are lots of great resources on the web to help you build graphical solutions using the new version.

I’ve collected a set of links to help send you towards as many Visio 2007 developer-related resources as possible!


Last udpated: 2009.04.17

Test Drives & Trials

If you don’t have Visio 2007 already, you can give it a go on-line and see the new features.

I gave the online-test a quick whirl and was impressed that I had a full, virtual Visio 2007 Pro to play with. I could open up the VBA development environment and write a bit of code.  And build SmartShapes using the ShapeSheet! Or try out the new features like: Data Graphics, Link Data to Shapes, the AutoConnect feature, Themes and a whole lot more!

You can also download a trial version to play with on your local machine.


New Book: Visualizing Information with Microsoft® Visio 2007
David J. Parker over at bVisual has a new book coming out soon that will help you to harness the power of the data-integration and visualization features coming in the next version of Visio.

Visio 2003 Developer’s Survival Pack
Although the name still says “2003”, if you want to develop Visio-based solutions, Graham Wideman’s classic is still the best place to start. A few things have changed and a few features have been added, but this book gives you the nitty-gritty details that you need to create polished graphical applications in Visio.


What’s New for Developers in Visio 2007 (Part 1 of 2)
What’s New for Developers in Visio 2007 (Part 2 of 2)
A great breakdown of the new ShapeSheet and Automation features for those of us who roll our own Visio, as well as info on how to use the new data features in Visio 2007.

Designing Shapes for Use with Themes in Visio 2007
Expanding on the color schemes feature available in earlier versions of Visio, Theming in Visio 2007 offers a sophisticated way to customize the colors and styles of your Visio diagrams. The shapes that come with Visio 2007 rely heavily on Theming, and the results are quite impressive. This article describes how you can design your own shapes to function with Theming and introduces several new ShapeSheet functions that help you get the job done.

Integrating Visio 2007 and Access 2007
An article from Visimation for MSDN which describes how to generate a Visio diagram from data stored in an Access database. Lots of code samples in C#.

Integrating Visio 2007 and Excel 2007
Another article from Visimation for MSDN which describes how to link data in Visio to Excel using the Visio Data Selector and generate a BOM (Bill of Materials) Code samples in C#.

Building Custom Data Graphics for Visio 2007
A nice 8-or-so-page article on developing your own data-widgets and getting them to work with Visio 2007’s cool data-integration features!

Visio Portals

Microsoft Visio 2007 on MSDN
A good place to start. At the top, you’ve got on-line SDK Documentation and Technical articles. Once you start clicking, you’ll probably never escape! 🙂

Visio Developer Portal on MSDN
Part of Microsoft Office Developer Center this site contains articles, whitepapers, code samples, downloads and links to other developer resources, including a list of web logs from Visio’s own staff!

Microsoft Visio Toolbox
The Visio Toolbox is a great resource for Visio articles, tools, add-ins, templates,  articles, training videos, trial versions, and Visio partner information. Phew!

Web Logs & Visio Info Sites

Visio Insights Weblog
This web log is from the folks on the Visio team and contains some very deep posts on developing for Visio. Although it’s not just Visio-2007-specific, it’s nonetheless choc-full of information that’s vital to improving the quality of your Visio solutions.

Visio Guy Forum
A growing community of over 500 registered users, you’ll be able to get answers to your Visio-development related questions, and you’ll be able to share your experience with others as well! Developers will be especially interested in the boards: Programming & Code and ShapeSheet & Smart Shapes.

Chris Hopkin’s VisiLog
Chris Hopkins is a past employee of (the one-time) Visio Corporation and Visimation, and a current employee at Microsoft. He knows the insides of Visio solution-development extremely well, and his web log covers some excellent technical topics, including obscure details that drive developers nuts. This is a welcome new addition to the Visio blog-o-sphere!

David Parker’s bVisual Blog on Windows Live
David is one of The Masters of Visio. His blog has lots of great topics, many which include developer-related advice and code samples!

Saveen Reddy’s blog
An avid Visio fan, Saveen comes up with really interesting Visio posts. While his blog is not dedicated to Visio, the Visio developer will find plenty on his site to be interested in, including automating Visio with alternative languages, an interesting, living library (project) for more easily programming against Visio, and some wonderful visual effects and SmartShapes!

John Marshall’s Visual Basic Code Samples and ShapeSheet Development pages
Two great places to start if you are new to Visio development.

Bill Morein’s Weblog
An MS Visio team member, Bill’s blog is all about Visio and Data Visualization, and many of his articles pertain to Visio 2007.

Update: Bill is no longer working with the Visio team, but his blog has some great Visio-related articles.

Eric Rockey’s Weblog
Another MS Visio team member, the title of Eric’s blog: “What’s new in Visio 12” should be a grand give-away.

Note: Eric is no longer with Microsoft, but his site lives on, and has some good technically-related articles about Visio 2007.


Visio 2007 SDK (Software Development Kit) Beta 2
The latest version of the Visio SDK offers a great help file, a Code Librarian database full of Visio-related snippets, several VB.NET, C#, VB6 and C++ automation examples, the Visio 2003 Viewer, and .NET templates that help you to quickly create applications and COM Add-ins for Visio.

Visio 2007 Viewer Developer Reference
Visio has a free Viewer that allows anybody with a web-browser to view and partially interact with any Visio drawing. The viewer can also be used as a control in your own custom applications.

This site includes the full API reference, plus samples on how to embedded the viewer in different environments.  The Visio Viewer API enables solution developers to perform the following tasks: load and unload Visio drawings, select shapes, follow hyperlinks, invoke Viewer dialog boxes, customize the size and position of the Viewer window, customize the user interface by changing foreground and background colors and displaying or hiding the grid and the scrollbars , control the color and transparency of layers in the drawing, control the color and visibility of reviewer markups (comments) , customize the toolbar by adding or removing buttons , and respond to user actions in the Viewer interface.

Visio 2007 Viewer
Now that we’ve peaked your curiosity, go get the Visio 2007 viewer and install it on your machine!

Office 2007 Developer Map Poster
Cool Office 2007 Developer’s poster in PDF format (thanks to Bill Morein’s weblog)


  • RAW says:

    I need to figure out (Visio 2003) how to link (both ways) from an Excel Spreadsheet cell to a cell containing the Visio object text value – so changing one will change the other.

  • Visio Guy says:

    Hi RAW,

    You’ll want to have a look at the Datebase Wizard under the Tools menu to link info in shapes with info in Excel. It’s not as easy as just referencing one cell to another, even though Visio’s ShapeSheet kind of looks like an Excel spreadsheet.

    Also, in Visio 2007, the Data Graphics feature does some real neat stuff regarding shapes and external data.

    I’d elaborate more, but I’m sitting in an old bus that is set up as an internet lounge on the west coast of the south island of New Zealand, and don’t have a whole bunch of time today 🙂



  • Chris says:

    I’m attempting to recreate a hierarchy tree… from data stored in a SQL table, I’ll be able to create this in visio, if i can just figure out how to gather the x,y coordinates of the existing shapes in the drawing.. i’ve been searching for a way to do this for over 2 days now, with absolutely no headway…. could you please give me some insight as to how you gather the x,y coords of a shape??

    any help would be greatly appreciated,


  • Visio Guy says:

    Hi Chris,

    In Visio, a shape is located on the page by its “Pin”, which is also the rotation point. If you are scanning a document with, say VBA code, you can get the Pin locations like this:

    Dim shp as Visio.Shape
    For each shp in Visio.ActivePage
      Debug.Print shp.CellsU(”PinX”).ResultIU
      Debug.Print shp.CellsU(”PinY”).ResultIU
    Next shp
    Dim shp as Visio.Shape
    For each shp in Visio.ActivePage
      Debug.Print shp.CellsU(”PinX”).ResultIU
      Debug.Print shp.CellsU(”PinY”).ResultIU
    Next shp

    ResultIU gives you the values in inches. You can also use .Result(”mm”) to get the results in millimeters. Just change the text in parentheses for different units, or use the Visio.visUnitCodes enumeration.

    – Chris

  • Shamil says:

    Chris, hi,

    Is it possible to make Visio page transparent using SDK? I did not find anything like that and wonder if it’s possible at all.

    See ya,

  • Visio Guy says:

    Hi Shamil,

    I can’t think of anything to make the page transparent. Perhaps when you host the Visio Active X control in a Windows form, but I doubt it.

    What problem are you really trying to solve? Visio supports putting shapes on layers, and background pages, as well as transparency on shapes and imported bitmaps and metafiles. Perhaps these features will help you to do what you want?


    – Chris

  • JonB says:

    Chris – I want to create a shape called LinkedCabinet that ties to a SQL 2005 database. The LinkedCabinet will be a 42U-high cabinet with two fields – CabinetName and Location – that need to be used as query criteria:

    SELECT Server, MakeModel, StartingU from ServerTable where CabinetName = [typed value from LinkedCabinet] AND
    Location = [typed value from LinkedCabinet]

    Each MakeModel would tie to a Visio standard graphic — like an HP DL380 Server or Cisco Router, and the StartingU and total height in U is known.

    Let’s say the query returned 5 servers:
    StartingU MakeModel ServerName
    33 HP DL380 Server1
    25 IBM 3850 Server2
    20 IBM 3850 Server3
    12 CPQ DL360 Server4
    1 IBM 5000 Server5

    I want to automatically draw the server graphics at the proper StartingU based upon the results of the query. I would then continue to add cabinets as needed to reflect the population of cabinets in my data center. All devices inside those cabinets would be drawn automatically. Every time the drawing is refreshed, it would re-run the queries to update the cabinets based upon the results.

    Have looked at various integration articles but haven’t found any that mention trying to do all of this. Is it possible?


  • wes says:

    Here’s a resource for anyone interested in generating a database from their Visio Database Model Diagrams.

    I got tired of hand-coding my DDL from Visio 2007 Diagrams, so I wrote a script to do it for me. I know it’s not perfect. But, it works for me. You are welcome to try it out at aboutwhatever.net/posts/visio-2007-database-model-ddl-generation. If there is enough interest, I will look into expanding it’s capabilities.

  • evan says:

    I’m not sure if this is possible, but I am wondering if there is a simple way to have a Visio “box” link to data in specific excel cell’s.

    I have a visio diagram that starts with a company’s budget and then flows to different boxes based on a formula. I have embedded the excel spreadsheet so I can quickly see what happens if the budget is increased or I change the formula some other way. But I currently have to redo the chart by manually entering the numbers that excel generates. Is there a way that each box could be linked to it’s correct excel cell?

    Thanks in advance for any suggestions.

  • bob says:

    I have VS 2008 and Viso 2007 I am trying to create a vb.net app that will take a simple text file and import it into visio. But I have had no luck so far. My question is can this even be done and if so some bread crumbs realy would help.


  • Mark says:

    Why can you only export to Word in Brainstorming mode? is there any way I can make a flowchart and export it so that it shows me an outline of my flowchart like

    1. Step 1
    1.1 step 1 to accomplish step 1
    1.2 you get the point
    2. Step 2

    Also i keep hearing about a developer tool in 2007 Visio (not the developer tab for 2010) so I can add check boxes, I already accessed the “run in developer mode from options but cant find the menu.

  • Visio Guy says:

    Hi Mark,

    That is probably a specific feature to the Brainstorming solution in Visio. The Brainstorming stuff involves a template, a stencil (set of shapes) and an add-in that assists specifically with brainstorming diagramming tasks.

    Many Visio discipline-specific templates use add-ins to enhance the user experience. As a result, you get different functionality showing up from drawing type to drawing type.

    For Brainstorming, an outline-export makes sense. For random Visio drawings, it makes less sense. What would “export to Word” mean for an office plan, or a network rack diagram? Either nothing, or something different in each case.



  • perky says:

    i’m wondering how one can resize the rack (from let’s say a 1u to 42u) using visio 2010 automation

  • dila says:

    Hi…I am trying to edit OLE-object in visio 2007 which is mapinfo map object.but an error occured : An Error (1415) occured during the action open object. visio is unable to edit the mapinfo map onject. why this thing happend and what should i do to solve this problem?currently I’m using windows 7. is it compatability issued because it was fine when I’m using visio 2007 with windows XP

  • Visio Guy says:

    Hi Dila,

    I’m not really sure what is happening, but I did find an article that deals with a similar topic:

    An error (1415) occurred during the action Open Object

    This relates to Visio 2003 and Excel, but perhaps it will give you some clues.

    Here’s more detailed info from Visio Expert JuneTheSecond:


  • Visio Guy says:

    Hi Perky,

    Here’s a rough snippet of how you change the height of a Visio shape, in C#:

    // visApp is a Visio Application object

    // Get a selected shape:
    Vis.Shape shp = visApp.ActiveWindow.Selection[1];

    // Set the value of the height cell in inches:
    shp.Cells[“Height”].ResultIU = 3.5; // ie: “2U”

    Hope that gets you started.

  • Bruce Langston says:

    After much panic, angst and kerfuffle, I found another very simple cause of the 1415 error while trying to open an Excel object in Office 2010:

    If you have another spreadsheet open in Excel and are editing a cell in that spreadsheet, you will get the 1415 error trying to open an Excel Object in Visio.

    Go back to other other spreadsheet and press enter to accept the edit or Esc to cancel the edit. Then open the object you were trying to open in Visio 2010.


Leave a comment!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" extra="">

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.