Visio Guy

Visio => General Visio => Topic started by: wxaggie11 on February 28, 2011, 02:55:58 PM

Title: Shapesheet Cell Reference to Shape on Different Page
Post by: wxaggie11 on February 28, 2011, 02:55:58 PM
I have two shapes "Square.94" and "Square.204" on pages 1 and 2 of the same document, respectively. I have custom shape data called "Name" in Square.94, with the value <SquareA> that I want Square.204 to grab from the user defined cell Prop.Name from Square.94.
(That is to say, whatever Square.94's value is for Name, I want Square.204 to have that same value.)

I entered this code into the Value cell of Square.204, who also contains the shape data called "Name" in it's properties:

Code: [Select]
=Square.94!Prop.Name
After all this, I keep receiving bad formula. Am I referencing the shape improperly? Am I entering this formula into the wrong cell of Square.204? Or am I referencing the cell improperly?  ???
Title: Re: Shapesheet Cell Reference to Shape on Different Page
Post by: Visio Guy on February 28, 2011, 03:09:11 PM
Shape ID numbers are unique only to a page, so both pages could feasibly have a Square.94, for example.

To reference shapes on other page, you need additional syntax:

=Pages[Page-1]!Sheet.94!Width

No quotes around the page name, by the way.

Note that =Pages[Page-1]!Square.94!Width will not work. You have to use the "Sheet.ID" notation when crossing pages.

You can read more about ShapeSheet cell references here (http://msdn.microsoft.com/en-us/library/ms195648%28v=office.12%29.aspx).

Title: Re: Shapesheet Cell Reference to Shape on Different Page
Post by: wxaggie11 on February 28, 2011, 03:17:11 PM
VisioGuy,

I typed:

Code: [Select]
=Pages[Page-1]!Sheet.94!Prop.Name
into the Value cell of Square.204 and I'm still getting a bad formula error. Is [Page-1] supposed to be the title of the page? Because if that is the case, this might work:

Code: [Select]
=Pages[TABLE OF CONTENTS]!Sheet.94!Prop.Name
It seems like it doesn't like my custom shape data...
Title: Re: Shapesheet Cell Reference to Shape on Different Page
Post by: Jumpy on February 28, 2011, 04:01:10 PM
Two Issues: It could be the Space between the words in the pagename. Try: Table_of_Content or TOC as pagename.
But when changing the name of the page be aware of problem two:

The Pages have a Name and a NameU (= universal name). When you rename a page first time, you change Name and NameU. If you rename the page again, from now on you only change the Name (not the NameU, too). And the NameU is the Name you have to use in ShapeSheet cell references.

Title: Re: Shapesheet Cell Reference to Shape on Different Page
Post by: wapperdude on February 28, 2011, 04:05:03 PM
If the "code" shown is a literal copy, there should be no space be "!" and "]".  See if that helps.

Wapperdude
Title: Re: Shapesheet Cell Reference to Shape on Different Page
Post by: wxaggie11 on February 28, 2011, 04:06:57 PM
Thank you guys for your help! Jumpy, I took your advice and made a completely clean document and I was able to link shapes across pages using that syntax. Thanks a bunch!
Title: Re: Shapesheet Cell Reference to Shape on Different Page
Post by: Visio Guy on February 28, 2011, 05:34:42 PM
Actually, Pages[table OF CONTENTS]!Sheet.94!Prop.Name should work. The spaces don't seem to matter.
Title: Re: Shapesheet Cell Reference to Shape on Different Page
Post by: Donald on February 09, 2016, 10:13:52 AM
Hello guys,
I'm a Beginner in Visio and I've found this topic where a part of my problem is solved, but...
I've learned here how to work with cross-page references, but it is not working for Master shapes.
What I want to do:
I have a master shape with some shape data and I want to fill one of them with text specified in text box in Page-1 when master shape is dropped on page.
This reference is working if added to the shape on page, now also on other page, but is not working for master shape. It is always lost. I suppose it is about special master page or something, but I can't solve it on my own.
It would save me a lot of work if master shape can absorb some text from the page where it is dropped.

Any idea? Thank you in advance!