PowerPoint Color Schemes in PowerPoint 2000 and PowerPoint 2003

S

ssaad

We have some VB code (.bas files macros) which we execute to create
PowerPoint presentations. We have been using PowerPoint 2000 and the
line

chartProxy.PlotArea().Fill().ForeColor().SchemeColor = 21

gives us a gray background for a chart. After switching to PowerPoint
2003 we have found that the background is now green. We cycled through
the different color schemes and found 15 and 46 give us shades of gray
slightly different than the gray that we get with 21 using PowerPoint
2000.
The questions we have are:

- The color schemes appear changed in PowerPoint 2003 as versus
PowerPoint 2000. Is there any documentation available anywhere
regarding this change?
- We've tried to get the exact gray which we get using PowerPoint 2000
and 21 as the scheme color by using RGB values but keep getting errors.
We've tried the following:

chartProxy.PlotArea().Fill().ForeColor.RGB = RGB(0,0,128)

and some other variations and could not make it work. We are not VB
programmers and so are not sure what we are doing wrong. We don't have
access to Visual Studio and are trying to run this code from within the
VB editor in PowerPoint. Any help would be much appreciated!
 
S

ssaad

Thanks so much. Your post helped clarify things. It appears that it's
not possible to set an exact RGB value for a chart background. The best
we can do is change the color scheme.
However, is it possible to set the shadow color in the PowerPoint
presentation at index 21 to a specific RGB value programmatically in
the macro? i.e can we make 21 point to another color programmatically?
I am still confused as to why 21 suddenly maps to a different color in
PPT 2000 as versus PPT 2003? Has Microsoft changed the colors available
in the color schemes or is there something we need to configure in PPT
2003 to make things the same?
 
S

ssaad

Thanks Steve:

As I understand it, the behaviour of how MSGraph and the color schemes
are related has not changed but the color scheme used by default could
be different. Actually we have looped through all 60 color schemes and
could not get the exact same gray so I take it that this would mean
that Microsoft has updated and changed the list of color schemes
available.
The only thing for me to try would be to programmatically try to modify
the colors in one of the available color schemes and then use the
changed one. Do you know if this is possible?

Thanks
 
S

ssaad

I've been wrong about the property we're setting. It's actually the
fill and not the shadow. My mistake since I mentioned 20 and we are
really using 21. I'm going to try the code you posted and I'll just
replace ppShadow with ppFill. I will post back to let you know how it
went. I do really appreciate the help!
 
S

ssaad

It's finally working for me. The key to understanding the whole thing
is that 17 corresponds to fill. The code which finally worked is:

slide1.ColorScheme.Colors(ppFill) = RGB(100, 100, 250)
chartProxy.PlotArea().Fill().ForeColor().SchemeColor = 17

It's not difficult to do this but the lack of documentation regarding
the relationship of MSGraph to PowerPoint Color Schemes make for a
tough guessing game as to what needed to be done. Thanks for all your
help, I really needed it to get this going,
 
Top