К сожалению, по состоянию на PowerPoint 2013 нет никакого способа ни установить формат по умолчанию для SmartArt, ни использовать Format Painter для форматирования всех фигур в графике SmartArt.
Но всякий раз, когда возникает такой вопрос, на помощь приходят макросы и надстройки VBA.
Самый базовый макрос ниже берет линию и цвет заливки из выбранной вами фигуры или из стиля фигуры по умолчанию, если вы ничего не выбираете, и применяет его к каждой фигуре в графике SmartArt. Если вы не знаете, как использовать макрос, посмотрите на эти примеры:
http://i-present.co.uk/category/blog/vba/
Это просто, потому что есть буквально сотни свойств, которые пользователь может установить, такие как градиенты заливки, картинки, текстуры, цвета линий, ширина, тире и такие эффекты, как отражение, свечение и т.д.
У меня есть компания GMARK, которая специализируется на разработке надстроек PowerPoint (http://i-present.co.uk) и могла бы создать надстройку для этого, если есть интерес.
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