PowerPoint VBAでフォント設定をするFontオブジェクトを取得する

font

photo credit: Daniel Ari Friedman Alphabet via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者向けPowerPoint VBAの使い方ということで、プレゼンテーションの全ての描画オブジェクトについてフォントを変更するマクロの作成を目指しています。

前回の記事はコチラ。

【初心者向けPowerPoint VBA】Shapeオブジェクトのテキストを取得する方法
初心者向けPowerPoint VBAのシリーズとして、図形やテキストオブジェクトのフォントを変更するマクロを作成する方法をお伝えしています。今回は、Shapeオブジェクトのテキストを取得する方法です。

描画オブジェクトのテキストの取得の方法をお伝えしました。

それで、テキストを取得する対象となるテキスト範囲を表すTextRangeオブジェクトにも言及したわけですが、このTextRangeオブジェクトからフォントを操作するFontオブジェクトにアクセスが可能です。

ということで、今回はPowerPoint VBAでフォントを設定するFontオブジェクトを取得する方法についてお伝えします。

では、行ってみましょう!

スポンサーリンク

前回のおさらい

題材としているプレゼンテーションはコチラです。

プレゼンテーションの例

それで、前回紹介したコードがコチラですね。

Sub Shapesコレクションのループでテキストを表示()

Dim shp As Shape
For Each shp In ActivePresentation.Slides(1).Shapes
    Debug.Print shp.TextFrame.TextRange.Text
Next shp

End Sub

これで、1枚目のスライドの全てのShapeオブジェクトのテキストについて、デバッグ出力により確認することができました。

今回は、Shapeオブジェクトのフォントについて操作をしていきましょう。

フォント設定を表すFontオブジェクト

Shapeオブジェクトのフォント設定は、Fontオブジェクトというオブジェクトが司っていて、Fontオブジェクトに用意されているプロパティにより

  • フォントの種類(英数字用/日本語用)
  • サイズ
  • 太字/イタリック/下線
  • フォントの色

などを設定できます。

ちょうど、描画オブジェクトを選択状態でリボン「PowerPointのリボンのフォント設定」をクリックで開く、以下の「フォント」ダイアログでの設定が該当しています。

PowerPointのフォントダイアログ

FontオブジェクトはTextRangeオブジェクトのFontプロパティで取得できます。

TextRangeオブジェクト.Font

すべてのシェイプのフォント名を取得するプロシージャ

前述のコードの5行目に「TextRange」というプロパティがありますね。

このプロパティでTextRangeオブジェクトが取得できているので、これに対してFontプロパティを使えばOKということになります。

Fontオブジェクトが取得できているか確認するために、以下のようなプロシージャを作ってみました。

Sub Shapesコレクションのループでフォント名を取得()

Dim shp As Shape
For Each shp In ActivePresentation.Slides(1).Shapes
    Debug.Print shp.Name, shp.TextFrame.TextRange.Font.Name
Next shp

End Sub

実行すると…

PowerPoint VBAでフォント名をデバッグ出力をする

はい、游ゴシック祭りですね。

Fontオブジェクトはちゃんと取得できているようです。

Nameプロパティの役割を含めて、実際のフォント設定については次回以降の記事でお伝えしていきますね。

なお、Debug.Print文で使っているカンマは、二つの値をタブ区切りで表示するときに使用するものです。

【エクセルVBA】初心者のうちから知っておくべきDebug.Printの使い方
今回はエクセルVBAでイミディエイトウィンドウを使う方法の超基本として、初心者のうちからぜひとも知っておいて欲しいDebug.Printの使い方です。一行に複数の出力をする方法も解説していますよ。

まとめ

以上、PowerPoint VBAでフォント設定をするためのオブジェクト、Fontオブジェクトを取得する方法について解説をしました。

このFontオブジェクトを使えば、テキストについて様々なフォント設定を行うことができます。

次回、解説していきますね。

PowerPoint VBAでシェイプのフォント設定をする色々なプロパティまとめ
PowerPoint VBA入門編ということで、図形やテキストボックスのフォントを変更するマクロの作り方をお伝えしています。今回は、テキストのフォントを変更するいろいろなプロパティまとめをお伝えします。

どうぞお楽しみに!

連載目次:初心者向けPowerPoint VBAのはじめの一歩

PowerPointはお仕事で非常によく使うプレゼンテーション作成ソフトですよね。実は、PowerPointでもVBAでプログラミングができるんです。本シリーズでは、初心者向けにPowerPoint VBAの初め方についてお伝えしていきます。
  1. 初心者向けPowerPoint VBAを始める際にはじめにやっておくべきセッティングと手順
  2. 【初心者向け】はじめてのPowerPoint VBAを作成して実行してみよう
  3. 【初心者向けPowerPoint VBA】オブジェクト・プロパティ・メソッドって何?
  4. PowerPoint VBAでアクティブなプレゼンテーションを取得する方法
  5. 【初心者向けPowerPoint VBA】SlidesコレクションとSlideオブジェクトを取得する
  6. PowerPoint VBAでShapeコレクションについてFor Eachループを回す方法
  7. 【初心者向けPowerPoint VBA】Shapeオブジェクトのテキストを取得する方法
  8. PowerPoint VBAでフォント設定をするFontオブジェクトを取得する
  9. PowerPoint VBAでシェイプのフォント設定をする色々なプロパティまとめ
  10. PowerPoint VBAのFor Each文とFor文によるループとその使い分けについて
タイトルとURLをコピーしました