如何更改 Office 中 SmartArt 的默认颜色样式?

如何更改 Office 中 SmartArt 的默认颜色样式?

我目前正在为我们的小企业构建一个新的 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 中使用的形状

相关内容