SSブログ

PPT スライド番号を指定してジャンプするPowerPointマクロ [PPT]

PPT スライド番号を指定してジャンプするPowerPointマクロ

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013

たくさんのスライドの含まれているプレゼンテーションファイルの編集を行っていると、スライド間の移動が面倒になってきます。

例えば、全部で100枚のスライドが存在しているようなときをイメージしてください。

1枚目のスライドを編集後、50枚目のスライドを編集しようと思ったとき、どうされますか?

先頭や最後に近いスライドならば、[Home]キーや[End]キーで、先頭や最後のスライドにジャンプして、方向キーなどで少し移動すればOKです。

しかし、100枚のスライドの真ん中あたりのスライドを編集しようと思ったときに、そのスライドを選択するだけで、かなり面倒なのです。

それが1回や2回ならば、一旦スライド一覧にしたりするという方法でいいのかもしれませんが、あっちに行ったりこっちに行ったりが頻発するとホント厄介です。

そんなときに使えるマクロを作成してみました。

スライド番号を指定してジャンプするサンプルマクロ

インプットボックスを表示して、インプットボックスにスライド番号を入力すると、その番号のスライドまでジャンプするマクロです。

"PPT-2021-4-30 192-1"
PPT-2021-4-30 192-1.jpg
プレゼンテーションファイルの編集中に上記のマクロを実行すると

「スライド番号を指定してください。」

と表示されたインプットボックスが表示され、指定したスライド番号のスライドがアクティブになります。

番号でスライドにジャンプするマクロでやってること

実際にジャンプする処理、指定されたスライドをアクティブにする処理は、最後の

  ActiveWindow.View.GotoSlide Index:=Int(sld_id)

の部分です。

インプットボックスから数値を入力してもらうとなると、いろいろなデータが入力されるケースが考えられるので、そのための事前処理が

  ActiveWindow.View.GotoSlide Index:=Int(sld_id)

の前に入っています。

インプットボックスで入力された値を変数・sld_idに格納して、

  sld_id = InputBox("スライド番号を指定してください。")

何も入力されていないときやキャンセルされたときはマクロを終了しています。

  If sld_id = "" Then Exit Sub

何も入力されなかったときと、[キャンセル]されたときの処理を区別したいのであれば、StrPtr関数を使ってキャンセルかどうかを厳密に判断してください。

スライド番号の最大値より大きな数値を入力されたときや、間違って数値以外の入力が行われたときには、最後のスライドにジャンプする仕様にしました。

そのため、スライドが何枚あるのかを変数・max_idに格納して、

  "PPT-2021-4-30 192-2"
PPT-2021-4-30 192-2.jpg
インプットボックスで入力されたのが数値でないとき、

 "PPT-2021-4-30 192-3"
PPT-2021-4-30 192-3.jpg
インプットボックスで入力された数値が、スライド番号の最大値より大きいときは、

 "PPT-2021-4-30 192-4"
PPT-2021-4-30 192-4.jpg
変数・sld_idの値を、変数・max_idの値に変更しています。

インプットボックスで入力されたのが1未満の数値だった場合は変数・sld_idを「1」にしています。

"PPT-2021-4-30 192-5"
PPT-2021-4-30 192-5.jpg
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。