Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » アクティブスライドの全改行を削除するマクロ


アクティブスライドの全改行を削除するマクロ

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013

選択されている、テキストボックス・プレースホルダ・図形内に含まれる改行を削除する、PowerPointマクロをご紹介しました。

アクティブなスライド上の改行をすべて削除したいということもあるでしょう。

[スポンサードリンク]

そんなマクロをご紹介しておきます。


Sub アクティブスライドの改行をすべて削除する()

 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

End Sub

上記のマクロを実行すると
「アクティブなスライドの改行をすべて削除しますか?」
というメッセージが表示され[はい]ボタンをクリックしたときに、アクティブスライド上のすべての改行が削除されます。

アクティブなスライド上の、
 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

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

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » アクティブスライドの全改行を削除するマクロ

TrackBack:0

TrackBack URL

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » アクティブスライドの全改行を削除するマクロ

「TextFrame・TextRange」の記事一覧

検索


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

.