質問: cft.msoFill_BackColor_ObjectThemeColor Call .Fill.Patterned(cft.msoFill_Pattern) End With Next End With Next End Sub ``` ### 試したこと MsoThemeColorIndex変数であるObjectThemeColorの取得/設定だけではなく、 ひとつ上位階層のColorFormatオブジェクトのForeColorの取得/設定も試みました。 しかし、こちらはNewしようとしたときにエラーが発生します。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: ExcelだけでなくMS Office全般に言えることですが、色の指定方法にはいくつか種類があります。 今回使用している`ObjectThemeColor`は「テーマの色」を使って色を指定したい場合に使用するものです。 !テーマの色 また、`ObjectThemeColor`から0が返ってきたとのことですが、 `MsoThemeColorIndex`列挙型の中で該当するものを探すと`msoNotThemeColor`、テーマの色では無いということになります。 そのため取得は出来てもどんな色かわからないので設定できない、ということになります。 テーマの色ではなく、純粋な色を取得・設定する場合は`Excel.ColorFormat`オブジェクトの`RGB`プロパティを使用します。 `RGB`プロパティの型は`MsoRGBType`となっていますが、RGB関数などで取得できる色(Long型)を使えば大丈夫です。