「スライドショーの実行中に、どこかのスライドにジャンプしてから、元々表示していたスライドに、簡単に戻れるマクロを実行するボタンを作るにはどうしたらいいのだろう?」
といったご相談をいただきました。
例えば、5枚のスライドがあるプレゼンテーションファイルで、2枚目のスライドを表示しているときに、5枚目のスライドに一旦ジャンプした後、元の2枚目のスライドを簡単に表示するようなボタンを作るにはどうしたらいいのか、というご相談です。
早速そんなプレゼンテーションファイルを作ってみました。
▼サンプルファイル(powerpoint-macro-showing-slide-immediately-before-current-slide.pptm 40KByte)ダウンロード
上記のサンプルファイルは、直前のスライドに戻るマクロと、そのマクロを実行するボタンを設定してあります。
直前のスライドに戻るサンプルマクロ
まず、直前のスライドに戻るマクロは以下のとおりです。
With SlideShowWindows(1).View
.GotoSlide Index:=.LastSlideViewed.SlideIndex
End With
スライドショー実行中には、
SlideShowWindowオブジェクトの
SlideShowViewオブジェクトの
GotoSlideメソッドで、
引数に指定したスライドを表示させることができます。
また、
SlideShowWindowオブジェクトの
SlideShowViewオブジェクトの
LastSlideViewedオブジェクトの
SlideIndexプロパティで、
直前に表示していたスライドのスライド番号を取得できます。
ですから、
SlideShowWindows(1).View.GotoSlide Index:=SlideShowWindows(1).View.LastSlideViewed.SlideIndex
という1行のマクロで、直前のスライドを表示することができます。
ですが、さすがにこのコードは長すぎますからWithステートメントを使って整理したのが上記のマクロです。
オブジェクト式としては、SlideShowWindowオブジェクトのViewプロパティで、SlideShowViewオブジェクトが取得できる部分、
プロパティ名と返されるオブジェクト名が異なっている部分を要注意だと感じます。
直前のスライドに戻るボタンを作成する
上記のマクロを作ったら、マクロを実行するボタンを作成します。
すべてのスライドに、上記のマクロを実行する[直前のスライドに戻る]ボタンを作るのなら、以下のような手順です。スライドマスターを表示
↓
スライドマスターに[動作設定]ボタンを作成
↓
自動的に表示される
[オブジェクトの動作設定]ダイアログ
-[マウスのクリック]タブ
-[マクロの実行]オプションで
「直前のスライドに戻る」を指定
[動作設定]ボタンは、[挿入]タブ-[図]グループ-[図形]ボタンをクリックすると、
下図のように、一番下に表示されます。
[動作設定]ボタンをスライドマスター上に作成すると、[オブジェクトの動作設定]ダイアログが自動的に表示されますから、下図のように設定してください。
[動作設定]ボタンではなく、通常の図形(オートシェイプ)からマクロを実行することもできます。
図形を挿入した場合は[オブジェクトの動作設定]ダイアログは自動的に表示されませんが、図形を選択しておいてから[挿入]タブ-[リンク]グループ-[動作]ボタンをクリックすれば、
[動作設定]ボタンと同じようにマクロを実行するように設定できます。
(以下、2015-10-06 09:35追記)
実はマクロがなくてもOK
と、ここまで記事を書いてから、実はマクロを一切使わなくてもいいことに気づきました。。
下図のように、
[オブジェクトの動作設定]ダイアログ
-[マウスのクリック]タブ
-[ハイパーリンク]オプションで
「最後に表示したスライド」
を指定したボタンをスライドマスターに作れば、
マクロは不要です。完全にPowerPointの標準機能だけでOKでした。。
最終更新日時:2019-07-05 10:21
- Newer:配列の中身をMsgBox関数で表示する
- Older:先頭のスライドをアクティブにするPowerPointマクロ
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » スライドショー » スライドショー中に直前のスライドに戻るPowerPointマクロ