Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cascade fill colours in a group

12 views
Skip to first unread message

Aussie Susan

unread,
May 1, 2008, 10:57:01 PM5/1/08
to
I have a group made by selecting a couple of shapes and using the 'Shape -
Group' context menu option. Using the 'Format - Fill...' context menu dialog,
I can change the foreground colour of the group.

However, using the shapesheet 'FillForegnd' cell for the same selected
group, the "dummy" group shape value at the top is changed but the sub-shapes
are not.

I can write a VBA function that looks to see if a shape is a group and then
sets the colours for all subshapes if there are any, but I was wondering if
there is a way to tell the shape that it is to cascade all colour values from
the group level down to all subgrouped shapes?

(BTW Visio 2003).

Thanks

Susan

JuneTheSecond

unread,
May 2, 2008, 7:23:01 AM5/2/08
to
Hi, Aussie Susan.

My idea may not elegant, but
you may need to enter in Fillforegnd cell of each child shape
in the group, for example, if the name of the group parent shape
is "Sheet.7", then "GUARD(Sheet.7!Fillforegnd)".
--
JuneTheSecond

Now, visual calculation is more visual.
http://www.geocities.jp/visualcalculation/english/index.html

Aussie Susan

unread,
May 4, 2008, 10:27:01 PM5/4/08
to
June,

If I understand you correctly, then I'm not missing something obvious as to
how to get this cascading to occur automagically.

The workaround I've been using is use VBA to see if the shape is a group and
then setting the shapesheet cell of all subshapes if it is. At elast it works
but at the cost of a separate function to set a cell value - not that much
but was hoping for something more 'elegant'.

Thanks

Susan

Paul Herber

unread,
May 5, 2008, 7:18:54 PM5/5/08
to

Have a look at the format painter. I'm sure it can do exactly what you
want.

--
Regards, Paul Herber, Sandrila Ltd.
Electronics for Visio http://www.electronics.sandrila.co.uk/

Aussie Susan

unread,
May 6, 2008, 7:44:00 PM5/6/08
to
Paul,

Thanks for the suggestions, and it certainly seems to work when I do this
manually. However, then I tried to record a macro while I used the format
painter, I ended up with an empty macro.

I can't seem to find any reference to the format painter functionality in
the VBA or shapesheet help files. (Probably looking for it in all the wrong
places!)

Can you point me in the right direction as to how I can use the format
painter functionality from a shapesheet formula or VBA code?

Thanks

Susan

Paul Herber

unread,
May 7, 2008, 6:12:10 AM5/7/08
to
On Tue, 6 May 2008 16:44:00 -0700, Aussie Susan
<Aussi...@discussions.microsoft.com> wrote:

>Paul,
>
>Thanks for the suggestions, and it certainly seems to work when I do this
>manually. However, then I tried to record a macro while I used the format
>painter, I ended up with an empty macro.
>
>I can't seem to find any reference to the format painter functionality in
>the VBA or shapesheet help files. (Probably looking for it in all the wrong
>places!)
>
>Can you point me in the right direction as to how I can use the format
>painter functionality from a shapesheet formula or VBA code?

Look at the DoCmd with parameter visCmdFormatPainter

TechAuthorAndy

unread,
Sep 25, 2009, 6:59:01 AM9/25/09
to
Hi JuneThe Second,

I have a potentially stupid question on this. I'm having similar issues with
a gantt chart 'task bar' object, so thought I'd use a similar approach to
your suggestion (ie linking sub-group fills to the parent fill).

However parent references generate formula errors (if parent is a taskbar),
so I was wondering if you had any suggestions.

Here's my issue:
=Sheet.587!FillForegnd
is fine, but

=Task bar.570!Fillforegnd
generates a formula error.

I wondered if the space between task and bar was the problem, so tried
enclosing with "" -> validates the formula, but still doesn't actually work.

Cheers,


Andy

David J Parker [MVP Visio]

unread,
Sep 26, 2009, 4:30:24 AM9/26/09
to
You should use the NameID (Sheet.nn) reference, since the Name(U) can be
changed.
If the reference is to the parent of a group Master, then Visio will sort
out the NameID changes for instances since it is by reference.

"TechAuthorAndy" <t...@discussions.microsoft.com> wrote in message
news:1F28967D-0A1C-45D7...@microsoft.com...

TechAuthorAndy

unread,
Sep 28, 2009, 9:12:01 AM9/28/09
to

Hi David.
Many thanks for that. Funnily enough I stumbled on the same solution by
trial and error (ie referring to the parent shape's ID rather than its name
worked). Many thanks for posting your reply.
Cheers,
Andy
0 new messages