Shape Data Sets Problems

Started by JessicaRose, June 22, 2008, 05:08:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


I posted awhile back with something similar, but have run into a new problem.
I have about 30 stencil files, making up about 1700 masters.  What I am
trying to do is go in and update the whole stencil file by taking out two
custom properties (list price and discount code), and updating one field with
today's date (revision date). 

What I am using is shape data sets to do this.  For the first two files,
this worked perfectly.  When I got to my third file and applied my new shape
data sets, only the date changed.  I told the shape data sets to delete the
two rows, but once applied, the two rows remain.  Is there something I'm
missing?  I don't know why this function would work for some files, and then
not work for others.  I really need a simple solution for this.  It would
take entirely too long to go in and edit each shape data field individually.
Is this something that I will eventually have to create VBA code for?

Visio Guy

So you are updating Shape Data Sets, but it's not working all of the time?

I've played with it a little bit, and the results do seem a bit inconsistent to me. Plus, I'm not sure about how you would link the data fields to your company's data. My gut feeling is that this feature isn't robust enough for what you need.

There is an option for "Shapes selected in stencil" in the Shape Data Sets window, are you using that?

But frankly, if you are managing 1700 masters in 30 stencils, you will want to have some tools for updating, editing, cleaning them, so that you can really be sure that what you need done is getting done properly. VBA is one way to do this.

I believe I've already referred you to an article that pretty much shows you how to edit all the masters in a stencil. Updating the current date shouldn't be much more work. If you don't have the time you might consider hiring someone who knows how to do this quickly.

For articles, tips and free content, see the Visio Guy Website at
Get my Visio Book! Using Microsoft Visio 2010


Yes, I'm selecting the option for updating selected stencils.  It is very inconsistent.  I think I'm going to go the VBA route, I still have the article you suggested.  Thanks for all your help  :)


From what I can see, the application of Data Sets with the 'Remove existing data sets' is very literal.  If you take a shape with no existing Shape Data, and assign data set 1 to it, then assign data set 2 with the remove option - it works as expected. 
If you have any other property rows that were added as individual data rows, they will never be removed using the assignment of a new data set.  The only way to get rid of them is to remove them directly (just as they were added).  While this is actually consistent, it's not intuitive to the average user. 

Maybe the best long term solution would be to have an option to remove all shape data (separate from removing sets) as well.

Visio Guy

Hi beway,

It might make more sense if you understand that Shape Data fields don't have to be just "data carried along by the shape". They can also be fields that cause the shape to graphically change. An example: a Prop.DetailsVisible = True/False might control the visibility of some extra geometry on a shape. If a Data Set wizard started removing fields it didn't know anything about, it could totally destroy the shape by removing cells that were vital to the shape's appearance.
For articles, tips and free content, see the Visio Guy Website at
Get my Visio Book! Using Microsoft Visio 2010