ThemaColorはまず基本のOfficeから
たとえばこのColorFormatは
Dim a As Office.ColorFormat
と書ける。PowerPointでもデフォルトで参照設定がついているため、修飾が可能である。
ColorFormat
https://docs.microsoft.com/ja-jp/office/vba/api/powerpoint.colorformat
単色のオブジェクトの色、グラデーションまたはパターンで塗りつぶされたオブジェクトの前景色、背景色、またはポインターの色を表します。 色は、赤、緑、青の値で指定される色 (RGB プロパティを使用) または配色の色 (SchemeColor プロパティを使用) に設定できます。
ColorFormat.RGB プロパティ (PowerPoint)
RGBがタイトルから抜けている
指定された色の RGB 値を設定します。 値の取得と設定が可能です。
SchemeColor プロパティ (PowerPoint)
指定されたオブジェクトに適用する配色の色を設定します。 値の取得と設定が可能です。
ObjectThemeColor プロパティ (PowerPoint)
指定したColorFormatオブジェクトのテーマの色を設定または返します。 値の取得と設定が可能です。
ColorFormat.Type プロパティ (PowerPoint)
色の種類を表します。 読み取り専用です。
PowerPoint
Excel,Wordと比較すると
- ExtracolorsというExcel,Wordにはない独自のオブジェクトがある
- Theme=>ThemeVariants=>ThemeVariantというExcel,Wordにはなく、かつ独特の優先順位を持つオブジェクトがある。
ExtraColors オブジェクト (PowerPoint)
プレゼンテーションの追加の色を表します。 このオブジェクトには、最大 8 色を含めることができ、各色は、RGB 値で表されます。
例
ExtraColorsオブジェクトを取得するのには、 ExtraColorsプロパティを使用します。 ExtraColors (インデックス) に追加色のインデックス番号を使用して、1 つの余分な色の赤、緑、青 (RGB) 値を返します。 次の例では、作業中のプレゼンテーションのスライド 1 に四角形を追加し、追加色を背景色の塗りつぶしを設定します。 プレゼンテーションに対して定義されている少なくとも 1 つの余分な色をされていない、次の使用例は失敗します。
With ActivePresentation
Set rect = .Slides(1).Shapes _
.AddShape(msoShapeRectangle, 50, 50, 100, 200)
rect.Fill.ForeColor.RGB = .ExtraColors(1)
End With
追加色を追加するのにには、 Addメソッドを使用します。 (色がまだ追加されている) 場合、次の使用例は作業中のプレゼンテーションに追加色を追加します。
ActivePresentation.ExtraColors.Add RGB(69, 32, 155)
ColorShemes
指定したプレゼンテーションのすべてのColorSchemeオブジェクトのコレクションです。 各 ColorScheme オブジェクトは、スライドで一緒に使用される色の集合である配色を表します。
例
colorschemes 設定コレクションを取得するのには、colorschemesプロパティを使用します。 単一の ColorScheme オブジェクトを取得するには、 ColorSchemes (index) を使用し、引数 index には、配色のインデックス番号を指定します。
ActivePresentation.ColorSchemes(2).Delete
ColorShceme
https://docs.microsoft.com/ja-jp/office/vba/api/powerpoint.colorscheme
タイトルや背景など、スライド、ノート、または配布資料の異なる要素に使用する 8 色の色から構成される配色を表します。 プレゼンテーションのスライド、ノート、配布資料の配色は個別に設定できます。
注釈
各色は、 RGBColor オブジェクトで表されます。 ColorScheme オブジェクトは、 ColorSchemes コレクションのメンバーです。 ColorSchemes コレクションには、プレゼンテーションのすべての配色が含まれています。
例
1つのColorSchemeオブジェクトを取得するのには、 colorschemes (index) を使用します。引数 index には、配色インデックス番号を指定します。
スライド、 SlideRange、またはmasterオブジェクトのColorSchemeプロパティを設定して、1つのスライド、スライドのセット、またはマスターシェイプの配色をそれぞれ取得します。
単一のスライド要素の種類の色を表すRGBColorオブジェクトを取得するには、 Colorsメソッドを使用します。 RGBColorオブジェクトを別のRGBColorオブジェクトに設定することも、 rgbプロパティを使用して、 RGBColorオブジェクトの明示的な赤、緑、青 (rgb) の値を設定または取得することもできます。
PowerPointのTheme、ThemeVariants優先順位
Theme=>ThemeVariants=>ThemeVariant
Theme オブジェクト (PowerPoint)
https://docs.microsoft.com/ja-jp/office/vba/api/powerpoint.theme
テーマ (色、フォント、および効果のコレクション) を表します。
ThemeVariant オブジェクト (PowerPoint)
https://docs.microsoft.com/ja-jp/office/vba/api/powerpoint.themevariant
テーマのバリエーション (一連の色とフォント) を表します。
PowerPointのテーマファイルはthmx形式
thmx
Office.ThemeColor
https://docs.microsoft.com/ja-jp/office/vba/api/office.themecolorscheme.save
Office テーマの配色をxml形式ファイルに保存します
ThemeColorScheme.Save("C:\myThemeColorScheme.xml")
保存したものは読み込むことができる
https://docs.microsoft.com/ja-jp/office/vba/api/office.themecolorscheme.load
ThemeColorScheme.Load ("C:\myThemeColorScheme.xml")
GetCustomColor メソッド (Office)
Microsoft Office テーマの配色内に含まれるユーザー設定の 1 色を表す値を取得します。
csCustomColor = tcsThemeColorScheme.GetCustomColor("CheerfulColor")
ThemeColorScheme メソッド (Office)
https://docs.microsoft.com/ja-jp/office/vba/api/office.themecolorscheme.colors
2019年01月25日
Microsoft Office テーマの配色内の 1 色を表すオブジェクトを取得します。
PpColorSchemeIndex 列挙
https://docs.microsoft.com/ja-jp/office/vba/api/powerpoint.ppcolorschemeindex
Specifies the color in the applied color scheme that is associated with the specified object.
指定されたオブジェクトに適用する配色の色を指定します。
| Name|Value|Description |
|:----------:|:----------------:|:-------------------:|:--------------------|
|ppAccent1|6|Accent1||
|ppAccent2|7|Accent2||
|ppAccent3|8|Accent3||
|ppBackground|1|Background||
|ppFill|5|Fill||
|ppForeground|2|Foreground||
|ppNotSchemeColor|0|Not scheme color |配色パターンなし|
|ppSchemeColorMixed|-2|Mixed scheme color |配色パターンは混在|
|ppShadow|3|Shadow||
|ppTitle|4|Title|タイトル|
PowerPointのスライドの配色を変更しやすくするアドイン
http://artfulplace.hatenablog.com/entry/2015/03/11/203913
ThemeColorの発想はColorRefにあるという説
CORLORREF
https://docs.microsoft.com/ja-jp/windows/desktop/gdi/colorref
もちろんPowerPointはデザインも問われる
PowerPoint / スライドをデザインする / 背景とテーマ / Powerpoint: ミスを防ぐために色の組み合わせ