選択されている、テキストボックス・プレースホルダ・図形内に含まれる改行を削除する、PowerPointマクロをご紹介しました。
アクティブなスライド上の改行をすべて削除したいということもあるでしょう。
そんなマクロをご紹介しておきます。
Dim shp As Shape
Dim txt As String
Dim msg As String
msg = "アクティブなスライドの改行をすべて削除しますか?"
If MsgBox(msg, vbYesNo) = vbNo Then Exit Sub
With ActiveWindow.Selection.SlideRange
For Each shp In .Shapes
With shp
If .HasTextFrame Then
txt = .TextFrame.TextRange.Text
txt = Replace(txt, vbCr, "")
txt = Replace(txt, vbVerticalTab, "")
.TextFrame.TextRange.Text = txt
End If
End With
Next shp
End With
上記のマクロを実行すると
「アクティブなスライドの改行をすべて削除しますか?」
というメッセージが表示され[はい]ボタンをクリックしたときに、アクティブスライド上のすべての改行が削除されます。
アクティブなスライド上の、
With ActiveWindow.Selection.SlideRange
すべてのShapeに対してループを回して、
For Each shp In .Shapes
もし、テキストフレームが存在していたら、
If .HasTextFrame Then
テキストフレーム内のテキストを取得して、
txt = .TextFrame.TextRange.Text
[Enter]キーによる改行を削除し、
txt = Replace(txt, vbCr, "")
[Shift]+[Enter]による改行を削除し、
txt = Replace(txt, vbVerticalTab, "")
文字列として代入し直しています。
.TextFrame.TextRange.Text = txt
- Newer:シート名を取得するユーザー定義関数
- Older:Excel 2013のグラフで対数目盛を表示する
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » アクティブスライドの全改行を削除するマクロ