How do I populate fields in a visio diagram from an Excel worksheet?

I have created a printable Visio diagram that has a variety of text boxes scattered throughout that contain numbers. These numbers change over time, and I need to subsequently change the Visio diagram accordingly. However, I was wondering if there was a way to connect the values from certain fields in an Excel spreasheet to what is displayed on the Visio diagram, as the Excel spreadsheet is where these values are being changed. If I can do this, I merely change the spreadsheet, and then I can print an updated Visio diagram that reflects those changes.
Any ideas on how to do this?
Who is Participating?
Chris BottomleyConnect With a Mentor Commented:
To set or establish the name of a text box:

Right click : format : special.

Modify the box names in column 1 to reflect your own box names and the box text dtrings in column D to reflect the new text to be used ... use a copy of your visio file as a test sequence.


    For shapeCount = 1 To ThisWorkbook.Sheets(1).Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row
'        visdoc.Pages(1).Shapes(ThisWorkbook.Sheets(1).Range("A" & shapeCount).Text).SetCenter ThisWorkbook.Sheets(1).Range("B" & shapeCount).Value, ThisWorkbook.Sheets(1).Range("C" & shapeCount).Value
        visdoc.Pages(1).Shapes(ThisWorkbook.Sheets(1).Range("A" & shapeCount).Text).Text = ThisWorkbook.Sheets(1).Range("D" & shapeCount).Text

Open in new window

Scott HelmersVisio Consultant, Trainer, Author, and DeveloperCommented:
If you'd like an alternative that doesn't require programming, Visio 2007 Professional allows you to link shapes on a page to data in Excel quite easily. And once you've established the link, you can update the drawing manually or at a preset time interval.

Microsoft calls the feature "data linking" and includes some useful content on their web site:

-- demo: (see first demo)

-- tutorial: (four tutorials on linking)
All Courses

From novice to tech pro — start learning today.