「powerpoint vba テキストボックス 折り返し」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
テキストボックスや図形には、[図形内でテキストを折り返す]という設定項目があります。
これを一括変更するVBA(Visual Basic for Applications)のコード・マクロを探している方による検索でしょう。
ダイアログボックスや作業ウィンドウを表示して、たくさんのテキストボックス・図形で設定変更を行うのはたしかに面倒そうです。
こんなときにマクロを使いたいと感じるのはとても納得できます。
アクティブなスライドの全図形のテキストの折り返しを変更するサンプルマクロ
以下のようなマクロで、アクティブスライドの全図形の[図形内でテキストを折り返す]チェックボックスをOnにすることができます。
Dim shp As Shape With ActiveWindow.Selection.SlideRange
For Each shp In .Shapes
shp.TextFrame.WordWrap = msoTrue
Next shp
End With
End Sub
アクティブなスライド上の、
With ActiveWindow.Selection.SlideRange
すべての図形にループを回して、
For Each shp In .Shapes
TextFrameオブジェクトのWordWrapプロパティをmsoTrueにしています。
shp.TextFrame.WordWrap = msoTrue
[図形内でテキストを折り返す]チェックボックスをOffにしたいときは
shp.TextFrame.WordWrap = msoFalse
としてください。
テキストボックスのテキストの折り返しを変更する場合
テキストボックスの、テキストの折り返しだけを変更したい場合、全図形に対するループ処理を以下のようにするといいでしょう。
For Each shp In .Shapes
With shp
If .Type = msoTextBox Then
.TextFrame.WordWrap = msoTrue
End If
End With
Next shp
ShapeオブジェクトのTypeプロパティが、msoTextBoxだったらという条件分岐文を入れれば、テキストボックスの、テキストの折り返しだけを変更できます。
With shp
If .Type = msoTextBox Then
.TextFrame.WordWrap = msoTrue
アクティブなプレゼンテーションファイルの全図形のテキストの折り返しを変更するサンプルマクロ
以下のようなマクロで、アクティブなプレゼンテーションファイルの、全スライドの全図形の[図形内でテキストを折り返す]チェックボックスをOnにすることができます。
Dim sld As Slide
Dim shp As Shape
With ActivePresentation
For Each sld In .Slides
For Each shp In sld.Shapes
shp.TextFrame.WordWrap = msoTrue
Next shpNext sld
End With
End Sub
アクティブなプレゼンテーションファイルの、
With ActivePresentation
全スライドにループを回して、
For Each sld In .Slides
それぞれのスライドで、全図形にループを回して、
For Each shp In sld.Shapes
TextFrame.WordWrapプロパティをmsoTrueにしています。
shp.TextFrame.WordWrap = msoTrue
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » テキストの折り返し設定をまとめて変更するPowerPointマクロ