Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » テキストボックス内の文字列を左揃えにするPowerPointマクロ

テキストボックス内の文字列を左揃えにするPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

テキストボックス内の文字列を左揃えにするPowerPointマクロ

「powerpoint vba テキストボックス 左揃え」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

テキストボックス内の文字列を左揃えにするVBA(Visual Basic for Applications)のコードを探している方による検索でしょうか。

参考になりそうなマクロを2つご紹介しておきましょう。

[スポンサードリンク]

アクティブスライドのテキストボックス内文字列を左揃えにするサンプルマクロ

ひとつ目は、アクティブなスライド上に存在するテキストボックス内の文字列を左揃えにするマクロです。

Sub アクティブスライドのテキストボックスを左揃えに()

 Dim shp As Shape

 For Each shp In _
 ActiveWindow.Selection.SlideRange.Shapes

  If shp.Type = msoTextBox Then
   shp.TextFrame.TextRange _
    .ParagraphFormat.Alignment = ppAlignLeft
  End If

 Next shp

End Sub

上記のマクロで利用しているオブジェクトモデルの階層関係は下図のとおりです。

テキストボックス内の文字列を左揃えにするPowerPointマクロ

基本的な考え方は決して難しくありませんが、階層関係が深いところだけが難点でしょう。

アクティブなスライド上に存在するすべてのShapeをFor Each~Nextループで調べて、
 For Each shp In _
 ActiveWindow.Selection.SlideRange.Shapes

もしもShapeがテキストボックスだったときに、
  If shp.Type = msoTextBox Then

文字列を左揃えにしています。
   shp.TextFrame.TextRange _
    .ParagraphFormat.Alignment = ppAlignLeft

アクティブなプレゼンテーションの全テキストボックス内文字列を左揃えにするサンプルマクロ

もうひとつは、アクティブなプレゼンテーションファイル上のすべてのスライド上に存在する、すべてのテキストボックス内の文字列を左揃えにするマクロです。

Sub アクティブプレゼンテーションの全テキストボックスを左揃えに()

 Dim sld As Slide
 Dim shp As Shape

 For Each sld In ActivePresentation.Slides
  For Each shp In sld.Shapes

   If shp.Type = msoTextBox Then
    shp.TextFrame.TextRange _
     .ParagraphFormat.Alignment = ppAlignLeft
   End If

  Next shp
 Next sld

End Sub

こちらのオブジェクトモデルの階層関係は下図のとおりです。

テキストボックス内の文字列を左揃えにするPowerPointマクロ

Shapesコレクションオブジェクト以下は、先のマクロとまったく同じです。

アクティブなプレゼンテーションの、すべてのSlideをFor Each~Nextループで処理して、
 For Each sld In ActivePresentation.Slides

そのループの中に、先のマクロと同じく全Shapeに対するFor Each~Nextループがあり、
  For Each shp In sld.Shapes

先のマクロと同じくテキストボックスだった場合に、左揃えに設定しています。
   If shp.Type = msoTextBox Then
    shp.TextFrame.TextRange _
     .ParagraphFormat.Alignment = ppAlignLeft
   End If

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » テキストボックス内の文字列を左揃えにするPowerPointマクロ

「TextFrame・TextRange」の記事一覧

検索


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

.