Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 文字色を変更するPowerPoint VBA

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013, Windows版PowerPoint2016

「vba パワーポイント 文字の色」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、時折あります。

文字色を変更する、PowerPoint VBA(Visual Basic for Applications)のコードを探している方による検索キーワードです。

「vba パワーポイント 文字の色」
という検索では、どの文字の色を変更したいのかが、まったくわかりませんので、参考になるかもしれないマクロを3つご紹介しておきます。

[スポンサードリンク]

選択されている文字列の色を変更するサンプルマクロ

一つ目は、色を変更したい文字列が選択されているときのマクロです。

Sub 文字色変更_選択されている文字列()

 ActiveWindow.Selection.TextRange _
   .Font.Color.RGB = RGB(0, 0, 255)

End Sub

上記のマクロを実行すると、選択されていた文字列が、青色に変更されます。

TextRangeオブジェクトの、Fontオブジェクトの、Colorオブジェクトの、RGBプロパティに値を指定することで、文字色を変更しています。

選択されている図形の文字色を変更するサンプルマクロ

以下のようなマクロにすれば、選択されている図形内の文字色が、緑色になります。

Sub 文字色変更_選択されている図形()

 ActiveWindow.Selection.ShapeRange _
  .TextFrame.TextRange _
   .Font.Color.RGB = RGB(0, 255, 0)

End Sub

TextRangeオブジェクトの、Fontオブジェクトの、Colorオブジェクトの、RGBプロパティに値を指定しているのは、先の選択されている文字列の色を変更するマクロと同じです。

変更したい文字列を指定するところが、先のマクロでは、
 ActiveWindow.Selection.TextRange _
となっていましたが、このマクロでは
 ActiveWindow.Selection.ShapeRange _
  .TextFrame.TextRange _
となっているところが違います。

アクティブスライドの一つ目の図形の文字色を変更するサンプルマクロ

以下のようなマクロにすれば、アクティブなスライドの、一つ目の図形内の文字色を赤色にすることができます。

Sub 文字色変更_アクティブスライドの一つ目の図形()

 ActiveWindow.Selection.SlideRange.Shapes(1) _
  .TextFrame.TextRange _
   .Font.Color.RGB = RGB(255, 0, 0)

End Sub

TextRangeオブジェクトの、Fontオブジェクトの、Colorオブジェクトの、RGBプロパティに値を指定しているのは、先の選択されている文字列の色を変更するマクロとやっぱり同じです。

変更したい文字列を指定するところが、
 ActiveWindow.Selection.SlideRange.Shapes(1) _
  .TextFrame.TextRange _
となっているところが違います。

PowerPointのマクロを作れるようになるには

2007以降のPowerPointではマクロ記録機能がなくなってしまっていること、そもそもPowerPointのオブジェクトモデルは、ExcelやWordと比べるとグローバルメンバーが少ないという特徴があるために、PowerPointのマクロを自力で作れるようになるためには、学習のいずれかの段階で、最低限のオブジェクトの階層関係を理解する必要があります。

Excelマクロの場合、オブジェクトの階層関係がそれほど深くないために、強く意識しなくてもマクロを何度も作っている間に、なんとなく階層関係が頭に入ってしまうということがあり得ます。これに対してPowerPointはExcelよりも階層関係が深いのが一般的ですから、どこかの段階でしっかりと意識して階層関係を理解しようとしない限り、PowerPointマクロがなんとなく作れるようになるという状態にはならないと、私は感じています。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 文字色を変更するPowerPoint VBA

「TextFrame・TextRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.