Visio Guy

Visio Discussions => ShapeSheet & Smart Shapes => Topic started by: rainman on December 03, 2014, 09:05:00 AM

Title: Make my own shape
Post by: rainman on December 03, 2014, 09:05:00 AM
Hello,

I am working on a dynamic document for layouts of transport systems.

The visio file is liked to a excel file.

I have a shape conveyor. That had one of more sensors and a motor.

The length and width are linked to the excel file. Also the x and y position. And there are some label linked.

The belt is a simple rectangle. The sensor is a arrow line. THe motor is a smal rectangle.

I have evering working with the conveyors. All conveyor are placed on  there right position.

I have de sensor position on one belt working.

What I need now is to make a dynamic shape.

The problem is how do I make a shape with multiple object that are linked to the shape that get his information from the link to excel when it is place on the sheet?

Could someone help me with a step by step plan for a simple example so I can adjust this later to mine own situation.

With Regards,

Edwin Steenbeek
Title: Re: Make my own shape
Post by: rainman on December 03, 2014, 10:31:07 AM
I viewed some you tube movie for the right names.

My technical visio english is not up to date.

There is a group of shapes that is linked to excel. Within this group there are multiple subshapes. I want to link the shape data of the shape group to the subshapes

Regards,

Edwin
Title: Re: Make my own shape
Post by: Jumpy on December 04, 2014, 06:04:59 PM
You need to place formulas in the ShapeSheet of the Subshapes that reference the suitable cells of the GroupShape.

Say you have a ShapeData Property "Status" with values like "Activated" or "Disabled" or sth. like that in the GroupShape.
Find out the ID of the Group Shape, for this example I assume it's 123.
Create a ShapeDataRow in the ShapeSheet of the Subshape say Prop.StatusSubshape and enter the formula:
=GUARD(Sheet.123!Prop.Status)

The GUARD function is only used so you don't overwrite this formula by mistake.

=Sheet.123!Prop.Status

would have been enough, too.

--------------------------------------------------

I hope you already know about the ShapeSheet, otherwise you have to look it up, to undestand my answer.

hth
Jumpy