テキストを削除というキーワードで検索していたのですが。
マクロを実行すると、スライドから消滅していってしまうんですよね。
スライドショー中の削除希望だから、終わったら戻したいわけ!!!
このためには、削除ではなく非表示がよさそうです。
マクロを使わない方法として、アニメーションで終了させる方法もあります。
・スライドショー中に、テキストボックスを非表示するマクロ
Sub HideShape()
Dim idx As Integer
idx = SlideShowWindows(1).View.CurrentShowPosition
ActivePresentation.Slides(idx).Shapes("Title1").Visible = msoFalse
End Sub
テキストもShapeの一部です。
まず現在のスライド番号を取得。
そこにあるシェイプ名「Title1」の表示をなしにする。
非表示自体は「.Visible = msoFalse」だけですが、テキストを指定するのに長くなります。
・スライドショー中に、テキストボックスを削除するマクロ
Sub DeleteShape()
Dim idx As Integer
idx = SlideShowWindows(1).View.CurrentShowPosition
ActivePresentation.Slides(idx).Shapes("Title1").Delete
End Sub
削除は「.Delete」にするだけです。
こちらは、もう戻ってきません。
※補足
スライドショー中にクリックしたShape(テキストや図形)を取得することは、VBAだけではできないはずです。
つまり、1番をクリックして1番が消えるマクロ、2番をクリックして2番が消えるマクロは別々に作らないといけないということ。
対象の数だけ作成するか、もしくはスライド上すべて削除するなどの指定になるかと思います。
・スライドショー終了時に元に戻す方法
スライドショーを終えてみると、非表示後は非表示のままなんですよね。
スライドショー終了時に実行できるマクロがありますので元の表示に戻します。
Sub OnSlideShowTerminate(ByVal Wn As SlideShowWindow)
Dim shp As Shape
Dim sld As Slide
'スライド1を指定
Set sld = ActivePresentation.Slides(1)
'スライド1上のシェイプごとに表示をTrueにする
For Each shp In sld.Shapes
shp.Visible = msoTrue
Next shp
End Sub
・検索用
スライドショー中に文字を消すマクロ
スライドショー中に図形を消すマクロ
スライドショー中に図形を見えなくするマクロ
お読みいただきありがとうございます。
コメント