web-dev-qa-db-ja.com

OfficeでSmartArtのデフォルトのカラースタイルを変更するにはどうすればよいですか?

私は現在、中小企業向けの新しいPowerPointテンプレートを作成しています。その一環として、SmartArtを使用してグラフィックを作成するときに適切な色が自動的に選択されるようにすることで、時間を節約したいと考えています。

別の色への変更は本当に簡単です。例を次に示します。 http://pcunleashed.com/PowerPoint/how-to-re-color-your-smartart-graphics-in-PowerPoint/

私の質問は、新しいグラフィックを作成するときに、これらの配色のどれをデフォルトとして使用するかを変更することは可能ですか?私の主なアクセントカラーは青なので、標準のグラフィックは青い図形を白いテキストで塗りつぶしています。標準は、背景が白でテキストが黒の青い輪郭だけにしたいと思います。これは利用可能なオプションの1つですが、現在のデフォルトではありません。

これにより、ダイアグラムの作成にかかる時間を大幅に節約できます。

1
Slipstream

残念ながら、(PowerPoint 2013の時点で)SmartArtの既定の形式を設定したり、FormatPainterを使用してSmartArtグラフィック内のすべての図形を書式設定したりする方法はありません。

しかし、このような質問が発生するたびに、VBAマクロとアドインが役に立ちます。

以下の非常に基本的なマクロは、選択したシェイプまたは何も選択しない場合はデフォルトのシェイプスタイルから線と塗りつぶしの色を取得し、SmartArtグラフィック内の各シェイプに適用します。マクロの使用方法がわからない場合は、次の例をご覧ください。

http://i-present.co.uk/category/blog/vba/

塗りつぶしのグラデーション、画像、テクスチャ、線の色、幅、ダッシュ、反射、グローなどの効果など、ユーザーが設定できるプロパティは文字通り何百もあるため、これは基本的なことです。

私はPowerPointアドイン開発を専門とするGMARKという会社を所有しており( 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
3
Jamie Garroch

SmartArtグラフィックで使用されるデフォルトの色を変更するはるかに簡単な方法は次のとおりです。これはPowerPoint2010でのみテストしました。カラーパレットを変更する必要があります。これがあなたが探しているものであると100%確信しているわけではありませんが、他の人を助けるかもしれません。

[デザイン]タブで、[色]ドロップダウンを選択します。 [新しいテーマの色を作成]を選択し、アクセント1の色をデフォルトのSmartArtの色にします。

ただし、これはスライドの箇条書きの色などに影響を与える可能性があることに注意してください。これは、スライドマスターに移動し、最上位のスライドテンプレートを選択し、スライドの箇条書きを含むテキストウィンドウを選択し、[ホーム]メニューで[箇条書き]ドロップダウンを選択し、[箇条書きと番号付け]を選択すると、箇条書きの色が表示されます。設定。

0
Barry