I'm currently building a new powerpoint template for our small business. As part of this we want to save people time by having the right colours automatically be selected when they create graphics using SmartArt.
Changing to a different colour is really simple, an example is given here:
My question is: Is it possible to change which of these colour schemes is used as a default when creating new graphics. My main accent colour is blue, so the standard graphic has filled blue shapes with white text. I would like the standard to be just a blue outline with a white background and black text. This is another of the available options, but not the current default.
This would save our guys a huge amount of time in creating diagrams.
3 Answers
Unfortunately, there is (as of PowerPoint 2013) no way to either set the default format for SmartArt or to use the Format Painter to format all shapes within a SmartArt graphic.
But, whenever a question like this arises, VBA macros and add-ins come to the rescue.
The very basic macro below takes the line and fill colour from either your selected shape or the default shape style if you don't select anything and applies it to each shape within the SmartArt graphic. If you don't know how to use a macro, take a look at these examples:
It's basic because there are literally hundreds of properties that a user could set such as fill gradients, pictures, textures, line colours, widths, dashes and effects such as reflection, glow etc.
I own a company called GMARK that specialises in PowerPoint add-in development () and could create an add-in to do this if there was interest.
Sub SetSmartArtToDefaultShapeStyle() Dim oSld As Slide Dim oShpCheck As Shape, oShpSource As Shape, oShpNode Dim oNode As SmartArtNode Dim DeleteShape As Boolean On Error GoTo errorhandler Set oSld = ActivePresentation.Slides(ActiveWindow.View.Slide.SlideIndex) If Not ActiveWindow.Selection.HasChildShapeRange Then Set oShpSource = oSld.Shapes.AddShape(msoShapeRectangle, 0, 0, 10, 10) DeleteShape = True Else Set oShpSource = ActiveWindow.Selection.ShapeRange(1) End If oShpSource.PickUp For Each oShpCheck In oSld.Shapes ' As Shapes With oShpCheck If .HasSmartArt Then For Each oNode In .SmartArt.Nodes For Each oShpNode In oNode.Shapes ' As ShapeRange With oShpNode .Line.Visible = oShpSource.Line.Visible .Fill.Visible = oShpSource.Line.Visible If .Line.ForeColor.Type = msoColorTypeRGB Then _ .Line.ForeColor.RGB = oShpSource.Line.ForeColor.RGB If .Line.ForeColor.Type = msoColorTypeScheme Then _ .Line.ForeColor.ObjectThemeColor = oShpSource.Line.ForeColor.ObjectThemeColor If .Fill.ForeColor.Type = msoColorTypeRGB Then _ .Fill.ForeColor.RGB = oShpSource.Fill.ForeColor.RGB If .Fill.ForeColor.Type = msoColorTypeScheme Then _ .Fill.ForeColor.ObjectThemeColor = oShpSource.Fill.ForeColor.ObjectThemeColor End With Next Next End If End With Next If DeleteShape = True Then oShpSource.Delete Exit Sub errorhandler: MsgBox "There was an error : " & Err.Number & " : " & Err.Description, vbCritical + vbOKOnly, "SmartArt Format by i-present.co.uk" Err.Clear If DeleteShape = True Then oShpSource.Delete End Sub Here is a much easier way to change the default color used with SmartArt graphics. I only tested this with PowerPoint 2010. You need to change the color palette. Not 100% sure this is what you're looking for, but it may help others.
Under the Design tab, select the Colors drop down. Select Create New Theme Colors and change the Accent 1 color to the color you want your default SmartArt color.
Note, however, that this may impact things like the bullet colors on your slides. This can also be changed by going into the Slide Master, select the top level slide template, select the text window containing the slide bullets, under the Home menu, select the bullet drop down, then Bullets and Numbering and you will find the bullet color settings.
Since v.2013 you can change colour palette but you cannot change the default colours and sizes of the fonts as well as shapes used in the smartart