Search code examples
textshapesvisioshapesheet

Visio Master Shape to update shape text based on shape data field


I have a Visio (365) Master Shape I am creating for my work. I have a number of defined shape data fields, such as Type / Status / Display / Category etc... These are defined as defined as shape data and not as shape data set and can be accessed in formulas with the Prop.x notation.

I have selected the master shape for editing from the stencil, opened it for editing, selected the shape and then selected from the menu bar / ribbon 'Insert -> Field', and have tried to display shape text by inserting a field with a custom formula:

=IF(Prop.Display,IF(Prop.Type <> "",Prop.Type,""),"")

The shape data field 'Display' is Boolean with default set to TRUE. The field 'Type' is a delimited list / dropdown that initially starts out blank.

The objective is to have the user select a Type (when they know what it is), and the formula (in theory) should update the shape text to display that selection.

The problem is that when I test the shape and make changes to either the Type field or the Display field nothing happens - no text is ever displayed.

I'm sure that I am missing something simple here, but I cannot figure out what that is. Can anyone point me in the right direction? Any help greatly appreciated.

Cheers

The Frog


Solution

  • I figured it out!

    The formula to use is the following:

    =IF(AND(Prop.Display,FORMULAEXISTS(Prop.Type)),Prop.Type,CHAR(32))
    

    The combination of Prop.Display (boolean) being set to True, AND Prop.Type actually having something selected - tested with the FORMULAEXISTS function, creates a True / False scenario, where true provides the value of Prop.Type, and false provides a blank space - doesn't seem to like "" or CHAR(0) as a value so the single space character is the best I could do.

    Cheers and many thanks for pointing me in the right direction.

    The Frog