EXCEL VBA から見たオブジェクトテーマカラーと RGB の変換

 EXCEL でシェイプを扱う際に色を指定する.特に指定しなければオブジェクトテーマカラーから選択することになる.グラフの要素の色を指定する際にコードからのオブジェクトテーマカラー指定がうまく行かず,RGB 関数を使うことにしたのだが,両者の変換を検索しても見つからなかったため,調べることにした.

 本記事はVBA から見た EXCEL の散布図の点と線で述べた ObjectThemeColor プロパティと関連している.さらに詳細は Office テーマの色空間を探索するで述べている.

ユーザーインターフェース

「…の書式設定」

 シェイプなりグラフの要素なりを右クリックして「…の書式設定」を選ぶ.下図ではシェイプの書式設定ダイアログが開いている.

図形の書式設定
図形の書式設定

 「塗りつぶし(単色)」にチェックを入れると EXCEL のオブジェクトテーマカラーを選択するメニューがポップアップする.

EXCELのテーマカラー
EXCELのオブジェクトテーマカラー

 さらに「その他の色…」をクリックすると,「色の設定」ダイアログが開く.「ユーザー設定」タブをクリックするとカラーモデルを「RGB」で指定するダイアログが開く.この数値を読み取る.

「色の設定」の「ユーザー設定」でカラーモデル「RGB」を開いたところ
「色の設定」の「ユーザー設定」でカラーモデル「RGB」を開いたところ

 上記の操作をマクロ記録した結果である.

基本版

 MsoThemeColorIndex 列挙にもあるが,オブジェクトテーマカラーは列挙体で指定できる.その色は RGB で指定することもできる.基本の色は 10 色である.

テーマカラーmsoThemeColorIndexRGB
白,背景1msoThemeColorBackground1RGB(255,255,255)
黒,テキスト1msoThemeColorText1RGB(0,0,0)
薄い灰色,背景2msoThemeColorBackground2RGB(231,230,230)
ブルーグレー,テキスト2msoThemeColorText2RGB(68,84,106)
青,アクセント1msoThemeColorAccent1RGB(68,114,196)
オレンジ,アクセント2msoThemeColorAccent2RGB(237,125,49)
灰色,アクセント3msoThemeColorAccent3RGB(165,165,165)
ゴールド,アクセント4msoThemeColorAccent4RGB(255,192,0)
青,アクセント5msoThemeColorAccent5RGB(91,155,213)
緑,アクセント6msoThemeColorAccent6RGB(112,173,71)

詳細版

 基本の 10 色それぞれに 5 種類のバリエーションがあり,全体で 60 色を指定することができる.msoThemeColorIndex 列挙体で指定するなら Brightness も同時に指定する必要があるが,RGB なら数値を指定するだけである.

 どちらを指定するかは分かりやすさを優先するか,簡便な表記を優先するかで変わってくる.

テーマの色詳細msoThemeColorIndexBrightness RGB
白,背景1msoThemeColorBackground10 (255, 255, 255)
白,背景1黒+基本色5%msoThemeColorBackground1-0.05 (242, 242, 242)
白,背景1黒+基本色15%msoThemeColorBackground1-0.15 (217, 217, 217)
白,背景1黒+基本色25%msoThemeColorBackground1-0.25 (191, 191, 191)
白,背景1黒+基本色35%msoThemeColorBackground1-0.35 (166, 166, 166)
白,背景1黒+基本色50%msoThemeColorBackground1-0.50 (127, 127, 127)
黒,テキスト1msoThemeColorText10 (0, 0, 0)
黒,テキスト1白+基本色50%msoThemeColorText10.50 (127, 127, 127)
黒,テキスト1白+基本色35%msoThemeColorText10.35 (89, 89, 89)
黒,テキスト1白+基本色25%msoThemeColorText10.25 (64, 64, 64)
黒,テキスト1白+基本色15%msoThemeColorText10.15 (38, 38, 38)
黒,テキスト1白+基本色5%msoThemeColorText10.05 (13, 13, 13)
薄い灰色,背景2msoThemeColorBackground20 (231, 230, 230)
薄い灰色,背景2黒+基本色10%msoThemeColorBackground2-0.10 (208, 206, 206)
薄い灰色,背景2黒+基本色25%msoThemeColorBackground2-0.25 (175, 171, 171)
薄い灰色,背景2黒+基本色50%msoThemeColorBackground2-0.50 (118, 113, 113)
薄い灰色,背景2黒+基本色75%msoThemeColorBackground2-0.75 (59, 56, 56)
薄い灰色,背景2黒+基本色90%msoThemeColorBackground2-0.90 (24, 23, 23)
ブルー・グレー,テキスト2msoThemeColorText20 (68, 84, 106)
ブルー・グレー,テキスト2白+基本色80%msoThemeColorText20.80 (214, 220, 229)
ブルー・グレー,テキスト2白+基本色60%msoThemeColorText20.60 (173, 185, 202)
ブルー・グレー,テキスト2白+基本色40%msoThemeColorText20.40 (132, 151, 176)
ブルー・グレー,テキスト2黒+基本色25%msoThemeColorText2-0.25 (51, 63, 80)
ブルー・グレー,テキスト2黒+基本色50%msoThemeColorText2-0.50 (34, 42, 53)
青,アクセント1msoThemeColorAccent10 (68, 114, 196)
青,アクセント1白+基本色80%msoThemeColorAccent10.80 (218, 227, 243)
青,アクセント1白+基本色60%msoThemeColorAccent10.60 (180, 199, 231)
青,アクセント1白+基本色40%msoThemeColorAccent10.40 (143, 170, 220)
青,アクセント1黒+基本色25%msoThemeColorAccent1-0.25 (47, 85, 151)
青,アクセント1黒+基本色50%msoThemeColorAccent1-0.50 (32, 56, 100)
オレンジ,アクセント2msoThemeColorAccent20 (237, 125, 49)
オレンジ,アクセント2白+基本色80%msoThemeColorAccent20.80 (251, 229, 214)
オレンジ,アクセント2白+基本色60%msoThemeColorAccent20.60 (248, 203, 173)
オレンジ,アクセント2白+基本色40%msoThemeColorAccent20.40 (244, 177, 131)
オレンジ,アクセント2黒+基本色25%msoThemeColorAccent2-0.25 (197, 90, 17)
オレンジ,アクセント2黒+基本色50%msoThemeColorAccent2-0.50 (132, 60, 12)
灰色,アクセント3msoThemeColorAccent30 (165, 165, 165)
灰色,アクセント3白+基本色80%msoThemeColorAccent30.80 (237, 237, 237)
灰色,アクセント3白+基本色60%msoThemeColorAccent30.60 (219, 219, 219)
灰色,アクセント3白+基本色40%msoThemeColorAccent30.40 (201, 201, 201)
灰色,アクセント3黒+基本色25%msoThemeColorAccent3-0.25 (124, 124, 124)
灰色,アクセント3黒+基本色50%msoThemeColorAccent3-0.50 (82, 82, 82)
ゴールド,アクセント4msoThemeColorAccent40 (255, 192, 0)
ゴールド,アクセント4白+基本色80%msoThemeColorAccent40.80 (255, 242, 204)
ゴールド,アクセント4白+基本色60%msoThemeColorAccent40.60 (255, 230, 153)
ゴールド,アクセント4白+基本色40%msoThemeColorAccent40.40 (255, 217, 102)
ゴールド,アクセント4黒+基本色25%msoThemeColorAccent4-0.25 (191, 144, 0)
ゴールド,アクセント4黒+基本色50%msoThemeColorAccent4-0.50 (127, 96, 0)
青,アクセント5msoThemeColorAccent50 (91, 155, 213)
青,アクセント5白+基本色80%msoThemeColorAccent50.80 (222, 235, 247)
青,アクセント5白+基本色60%msoThemeColorAccent50.60 (189, 215, 238)
青,アクセント5白+基本色40%msoThemeColorAccent50.40 (157, 195, 230)
青,アクセント5黒+基本色25%msoThemeColorAccent5-0.25 (46, 117, 182)
青,アクセント5黒+基本色50%msoThemeColorAccent5-0.50 (31, 78, 121)
緑,アクセント6msoThemeColorAccent60 (112, 173, 71)
緑,アクセント6白+基本色80%msoThemeColorAccent60.80 (226, 240, 217)
緑,アクセント6白+基本色60%msoThemeColorAccent60.60 (197, 224, 180)
緑,アクセント6白+基本色40%msoThemeColorAccent60.40 (169, 209, 142)
緑,アクセント6黒+基本色25%msoThemeColorAccent6-0.25 (84, 130, 53)
緑,アクセント6黒+基本色50%msoThemeColorAccent6-0.50 (56, 87, 35)

古いテーマカラー

 過去の xls ファイル形式から抽出した情報も掲載しておく.個人的には日本の伝統的な色彩感覚に近い気がする.

xlsファイル形式の古いテーマカラー
xlsファイル形式の古いテーマカラー
テーマの色 詳細 ThemeColor TintAndShade RBG
白,背景1   xlThemeColorDark1 0 (255, 255, 255)
白,背景1 黒+基本色5% xlThemeColorDark1 -0.05 (242, 242, 242)
白,背景1 黒+基本色15% xlThemeColorDark1 -0.15 (217, 217, 217)
白,背景1 黒+基本色25% xlThemeColorDark1 -0.25 (191, 191, 191)
白,背景1 黒+基本色35% xlThemeColorDark1 -0.35 (166, 166, 166)
白,背景1 黒+基本色50% xlThemeColorDark1 -0.45 (128, 128, 128)
黒,テキスト1   xlThemeColorLight1 0 (0, 0, 0)
黒,テキスト1 白+基本色50% xlThemeColorLight1 0.50 (128, 128, 128)
黒,テキスト1 白+基本色35% xlThemeColorLight1 0.35 (89, 89, 89)
黒,テキスト1 白+基本色25% xlThemeColorLight1 0.25 (64, 64, 64)
黒,テキスト1 白+基本色15% xlThemeColorLight1 0.15 (38, 38, 38)
黒,テキスト1 白+基本色5% xlThemeColorLight1 0.05 (13, 13, 13)
ベージュ,背景2   xlThemeColorDark2 0 (238, 236, 225)
ベージュ,背景2 黒+基本色10% xlThemeColorDark2 -0.1 (221, 217, 196)
ベージュ,背景2 黒+基本色25% xlThemeColorDark2 -0.25 (196, 189, 151)
ベージュ,背景2 黒+基本色50% xlThemeColorDark2 -0.50 (148, 138, 84)
ベージュ,背景2 黒+基本色75% xlThemeColorDark2 -0.75 (73, 69, 41)
ベージュ,背景2 黒+基本色90% xlThemeColorDark2 -0.90 (29, 27, 16)
濃い青,テキスト2   xlThemeColorLight2 0 (31, 73, 125)
濃い青,テキスト2 白+基本色80% xlThemeColorLight2 0.80 (197, 217, 241)
濃い青,テキスト2 白+基本色60% xlThemeColorLight2 0.60 (141, 180, 226)
濃い青,テキスト2 白+基本色40% xlThemeColorLight2 0.40 (83, 141, 213)
濃い青,テキスト2 黒+基本色25% xlThemeColorLight2 -0.25 (22, 54, 92)
濃い青,テキスト2 黒+基本色50% xlThemeColorLight2 -0.50 (15, 36, 62)
青,アクセント1   xlThemeColorAccent1 0 (79, 129, 189)
青,アクセント1 白+基本色80% xlThemeColorAccent1 0.80 (220, 230, 241)
青,アクセント1 白+基本色60% xlThemeColorAccent1 0.60 (184, 204, 228)
青,アクセント1 白+基本色40% xlThemeColorAccent1 0.40 (149, 179, 215)
青,アクセント1 黒+基本色25% xlThemeColorAccent1 -0.25 (54, 96, 146)
青,アクセント1 黒+基本色50% xlThemeColorAccent1 -0.50 (36, 64, 98)
赤,アクセント2   xlThemeColorAccent2 0 (192, 80, 77)
赤,アクセント2 白+基本色80% xlThemeColorAccent2 0.80 (242, 220, 219)
赤,アクセント2 白+基本色60% xlThemeColorAccent2 0.60 (230, 184, 183)
赤,アクセント2 白+基本色40% xlThemeColorAccent2 0.40 (218, 150, 148)
赤,アクセント2 黒+基本色25% xlThemeColorAccent2 -0.25 (150, 54, 52)
赤,アクセント2 黒+基本色50% xlThemeColorAccent2 -0.50 (99, 37, 35)
オリーブ,アクセント3   xlThemeColorAccent3 0 (155, 187, 89)
オリーブ,アクセント3 白+基本色80% xlThemeColorAccent3 0.80 (235, 241, 222)
オリーブ,アクセント3 白+基本色60% xlThemeColorAccent3 0.60 (216, 228, 188)
オリーブ,アクセント3 白+基本色40% xlThemeColorAccent3 0.40 (196, 215, 155)
オリーブ,アクセント3 黒+基本色25% xlThemeColorAccent3 -0.25 (118, 147, 60)
オリーブ,アクセント3 黒+基本色50% xlThemeColorAccent3 -0.50 (79, 98, 40)
紫,アクセント4   xlThemeColorAccent4 0 (128, 100, 162)
紫,アクセント4 白+基本色80% xlThemeColorAccent4 0.80 (228, 223, 236)
紫,アクセント4 白+基本色60% xlThemeColorAccent4 0.60 (204, 192, 218)
紫,アクセント4 白+基本色40% xlThemeColorAccent4 0.40 (177, 160, 199)
紫,アクセント4 黒+基本色25% xlThemeColorAccent4 -0.25 (96, 73, 122)
紫,アクセント4 黒+基本色50% xlThemeColorAccent4 -0.50 (64, 49, 81)
アクア,アクセント5   xlThemeColorAccent5 0 (75, 172, 198)
アクア,アクセント5 白+基本色80% xlThemeColorAccent5 0.80 (218, 238, 243)
アクア,アクセント5 白+基本色60% xlThemeColorAccent5 0.60 (183, 222, 232)
アクア,アクセント5 白+基本色40% xlThemeColorAccent5 0.40 (146, 205, 220)
アクア,アクセント5 黒+基本色25% xlThemeColorAccent5 -0.25 (49, 134, 155)
アクア,アクセント5 黒+基本色50% xlThemeColorAccent5 -0.50 (33, 89, 103)
オレンジ,アクセント6   xlThemeColorAccent6 0 (247, 150, 70)
オレンジ,アクセント6 白+基本色80% xlThemeColorAccent6 0.80 (253, 233, 217)
オレンジ,アクセント6 白+基本色60% xlThemeColorAccent6 0.60 (252, 213, 180)
オレンジ,アクセント6 白+基本色40% xlThemeColorAccent6 0.40 (250, 191, 143)
オレンジ,アクセント6 黒+基本色25% xlThemeColorAccent6 -0.25 (226, 107, 10)
オレンジ,アクセント6 黒+基本色50% xlThemeColorAccent6 -0.50 (151, 71, 6)

“EXCEL VBA から見たオブジェクトテーマカラーと RGB の変換” への4件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください