Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » PowerPoint VBAでテキストボックスを中央揃えに

PowerPoint VBAでテキストボックスを中央揃えに

動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2105 ビルド14026.20308 Microsoft Store)

「パワポ vba テキストボックス 中央」
という検索でアクセスがあることに気が付きました。

PowerPoint VBAで、テキストボックス内の文字列を中央揃えにするには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

検索キーワード
「powerpoint vba テキストボックス alignment」
も、同じようなコードについて調べていた方による検索でしょう。

[スポンサードリンク]

テキストボックスを中央揃えにするサンプル

以下のSubプロシージャで、アクティブスライド上のテキストボックス内の文字列が中央揃えになります。

Sub テキストボックス内の文字列を中央揃えにする()
 Dim shp As Shape
 For Each shp In ActiveWindow.Selection.SlideRange.Shapes
  If shp.Type = msoTextBox Then
   shp.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
  End If
 Next
End Sub

アクティブスライド上の全図形に対して、For Each~Nextループを回して、
  Dim shp As Shape
  For Each shp In ActiveWindow.Selection.SlideRange.Shapes

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

中央揃えに設定しています。
   shp.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter

拙著『いちばんやさしいPowerPoint VBAの教本』の、p.236に「段落書式の設定はParagraphFormatオブジェクトで」というワンポイントを書いています。

上記のSubプロシージャで利用している
   shp.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
が、段落書式を設定する代表的なコードです。

全スライドのテキストボックスを中央揃えにするサンプル

全スライドの全テキストボックスを中央揃えにしたい場合は、以下のようなSubプロシージャです。

Sub テキストボックス内の文字列を中央揃えにする_全スライド()
 Dim sld As Slide
 For Each sld In ActivePresentation.Slides
 
  Dim shp As Shape
  For Each shp In sld.Shapes
   If shp.Type = msoTextBox Then
    shp.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
   End If
  Next shp

 Next sld
End Sub

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » PowerPoint VBAでテキストボックスを中央揃えに

「TextFrame・TextRange」の記事一覧

検索


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

.