![如何更改 Office 中 SmartArt 的默认颜色样式?](https://linux22.com/image/1374752/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%20Office%20%E4%B8%AD%20SmartArt%20%E7%9A%84%E9%BB%98%E8%AE%A4%E9%A2%9C%E8%89%B2%E6%A0%B7%E5%BC%8F%EF%BC%9F.png)
我目前正在为我们的小企业构建一个新的 PowerPoint 模板。作为其中的一部分,我们希望通过在人们使用 SmartArt 创建图形时自动选择正确的颜色来节省人们的时间。
更改为不同的颜色非常简单,这里给出了一个示例:http://pcunleashed.com/powerpoint/how-to-re-color-your-smartart-graphics-in-powerpoint/
我的问题是:在创建新图形时,是否可以更改默认的配色方案。我的主要强调色是蓝色,因此标准图形已用白色文本填充蓝色形状。我希望标准只是带有白色背景和黑色文本的蓝色轮廓。这是另一个可用选项,但不是当前默认选项。
这将为我们节省大量创建图表的时间。
答案1
不幸的是,(从 PowerPoint 2013 开始)无法设置 SmartArt 的默认格式或使用格式刷来格式化 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
答案2
这是更改 SmartArt 图形使用的默认颜色的更简单的方法。我只在 PowerPoint 2010 中测试过。您需要更改调色板。不能 100% 确定这是您要找的,但它可能对其他人有帮助。
在“设计”选项卡下,选择“颜色”下拉菜单。选择“创建新主题颜色”,然后将“强调色 1”更改为您想要的默认 SmartArt 颜色。
但请注意,这可能会影响幻灯片上的项目符号颜色等内容。您也可以通过进入幻灯片母版、选择顶层幻灯片模板、选择包含幻灯片项目符号的文本窗口、在主菜单下选择项目符号下拉菜单、项目符号和编号来更改项目符号颜色设置。
答案3
自 v.2013 起,您可以更改调色板,但无法更改字体的默认颜色和大小以及 smartart 中使用的形状