master update resizes instances

T

toca

Hi all!

I want to propagate changes made to a master to several different drawings.
At the moment, when a user changes a master I copy its shapes and iterate
threw all drawings, search for the corresponding master in the local
stencils, and change the master using open, delete, drop close.
The changes are propagated to the instances but the instances change their
size, the width and height being squared.

Have you got any idea why this happens and how to prevent this?

Repoduce by:
1)open a new visio document a drag some shape from a stencil on it
2)open the local stencil, select the shape and do "edit master"
3)Mark all, Cut the Selection it and Paster It
4)Close the stencil
5)Select the shape on the local stencil and drop it again
6) redo 2-5


Thanks in advance,
toca
 
J

JuneTheSecond

I forgot where is the property.
But when the shape was made on scaled page,
the scale problem appeared in my Visio.
 
J

JuneTheSecond

Please, refer to the Mark's commments in another post named "What is
unmeasured shapes?". It might be a problem regarding shape scale and page
scale.
 
C

Chris Roth [MVP]

Hi Toca,

I don't understand 100% what the problem is, but here are some tips:

1. It's best practice to NOT have multiple shapes inside of a master. If you
do, you should group them into a single shape (Ctrl+G). Visio will group
them together when you drop the master anyway. Better to do it in advance.

2.When you do modifications to the master, you can them drop shapes inside
the group, which is inside the master. You might get better results.


--
Hope this helps,

Chris Roth
Visio MVP

Free Visio shapes:
http://www.visguy.com/category/shapes
Visio programming info:
http://www.visguy.com/category/programming/
Other Visio resources:
http://www.visguy.com/visio-links/
 
T

toca

Thanks for your answers!

I tried to follow the instructions from Chris Roth. Dropping the new
subshapes into the existing group really solved my resize problem!

But I can not figured out how to initially select all subshapes in a group
without selecting the group-shape itself.

doc.Shapes.CreateSelection(VisSelectionTypes.visSelTypeAll,
VisSelectMode.visSelModeOnlySub, null);
Where shapes is the grouped shape did not select any shapes.


What I'd like to do is
// select all subshapes of shape i in doc1
// replace all subshapes in master y of doc2 with the selected shapes


thanks in advance,
toca
 
T

toca

Hmmm...to get the subshapes in a group, it looks like Shape.Shapes...not
sure if that's what you need?


Not exactly. I'd like to select the subshapes so that i can drop them into
the master.
CreateSelection seems to be the method i want, but i can't figure out the
right parameters to select only the subshapes and not the group itself.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top