Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 図形・オートシェイプ内の文字を中央揃えにするパワポマクロ

図形・オートシェイプ内の文字を中央揃えにするパワポマクロ

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013

図形・オートシェイプ内の文字を中央揃えにするPowerPointマクロ

「パワーポイント マクロ 図形 テキスト 中央揃」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

図形(オートシェイプ)内の、テキスト・文字列を中央揃えにするマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

[スポンサードリンク]

図形内の文字列を中央揃えにするサンプルマクロ

アクティブなスライドで、図形内の文字列を中央揃えにするサンプルマクロを、まずはご紹介しましょう。
Sub アクティブスライドの図形内の文字列を中央揃えにする()
 Dim shp As Shape
 
 With ActiveWindow.Selection.SlideRange  
  For Each shp In .Shapes
  With shp
   If .Type = msoAutoShape And .HasTextFrame Then
    With .TextFrame
     .TextRange.ParagraphFormat.Alignment _
        = ppAlignCenter
     .VerticalAnchor _
        = msoAnchorMiddle
    End With ' .TextFrame
   End If
  End With ' ActiveWindow.Selection.SlideRange
  Next shp 
 End With
End Sub

アクティブなスライド上の、
 With ActiveWindow.Selection.SlideRange

すべてのShapeに対してループを回して、
  For Each shp In .Shapes

もしそのShapeがオートシェイプで、かつ文字列を含んでいたら、
  With shp
   If .Type = msoAutoShape And .HasTextFrame Then

左右方向・水平方向で中央揃えにして、
    With .TextFrame
     .TextRange.ParagraphFormat.Alignment _
        = ppAlignCenter

上下方向・垂直方向でも中央揃えにしています。
     .VerticalAnchor _
        = msoAnchorMiddle

どのように該当するプロパティを探すのか

プログラミングの経験のある方にとって、考え方は特に難しくはないはずです。

問題は、左右方向の配置はParagraphFormat.Alignmentプロパティで設定して、上下方向の配置はTextFrame.VerticalAnchorプロパティで設定することを、どうやって探すか、調べるか、見つけるかでしょう。

私はこれらのプロパティをVBE(Visual Basic Editor)に付属するツール・オブジェクトブラウザで探しました。

配置については「align」という単語が含まれたプロパティが存在するであろうと予想し、まず「align」を検索しました。

予想どおり「align」を含んだAlignmentプロパティがParagraphFormatオブジェクトに存在していました。ヘルプを読むと確かに配置を指定することができます。

図形・オートシェイプ内の文字を中央揃えにするPowerPointマクロ

上下方向・垂直方向の配置を指定するプロパティは、「VerticalAlignment」というようなプロパティが存在することを予想していたのですが、そういったプロパティが見当たらないので、今度は少なくとも「vertical」という単語が含まれているのではないのかと予想し「vertical」を検索しました。

するとTextFrameオブジェクトにVerticalAnchorというプロパティが存在していました。

図形・オートシェイプ内の文字を中央揃えにするPowerPointマクロ

ヘルプを読んでみると、このTextFrame.VerticalAnchorプロパティが、上下方向の配置に関係していることがわかります。

このようにして私は、ParagraphFormat.AlignmentプロパティとTextFrame.VerticalAnchorプロパティを見つけ、上記のマクロを作ったのです。

マクロ記録機能のなくなってしまった最近のPowerPointでマクロを作る場合、オブジェクト構造を理解することと、オブジェクトブラウザを使えることは、マクロ作成のために必須のスキルだと感じています。

関連語句
VBA, Visual Basic for Applications
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 図形・オートシェイプ内の文字を中央揃えにするパワポマクロ

「TextFrame・TextRange」の記事一覧

検索


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

.