Displaying/Hiding One Object Based Upon The Data In Another

In Visio, one can define custom data fields on an object.

Let's say that I have two objects:  Object_A and Object_B.  Object_A has a user-defined variable: Var1.

If Object_A.Var1 = 0 then don't show Object_B.  Otherwise, show it.  

The actual showing/hiding can be accomplished via the object's transparency setting, but I don't know how to have one reference the other outside of writing a macro.
Who is Participating?
Scott HelmersConnect With a Mentor Visio Consultant, Trainer, Author, and DeveloperCommented:
You can do this in the shapesheets for the two objects and there's a better way than messing with transparency.

Item 1: In the shapesheet, look for the section called Geometry1. The first row includes a field called Geometry1.NoShow. If the value in this cell is FALSE, the shape appears; if TRUE, the shape doesn't appear on the page.

Item 2: You can refer to another object on the page using its name and an exclamation point (!). Consequently, "Prop.Var1" refers to the shape data field called "Var1" in the current shape, but "Object_B!Prop.Var1" refers to the field called "Var1" in the shape called "Object_B".

Combining Item 1 and 2:

In the shape sheet for Object_B, put the following formula into Geometry1.NoShow:

Stated in English: If Var1 in Object_A = 0, NoShow in Object_B is set to TRUE and Object_B is invisible; if it's any other value, NoShow is FALSE and Object_B is visible.
Scott HelmersVisio Consultant, Trainer, Author, and DeveloperCommented:
Did my previous answer solve your problem? If so, I would appreciate it if you would accept the answer and award the points. If not, let me know what additional information you need (for example, if you're not familiar with the Visio shapesheet, or need help getting the formula to work).

Forced accept.

EE Admin
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.