PPT スライド番号を指定してジャンプするPowerPointマクロ [PPT]
PPT スライド番号を指定してジャンプするPowerPointマクロ
対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013
たくさんのスライドの含まれているプレゼンテーションファイルの編集を行っていると、スライド間の移動が面倒になってきます。
例えば、全部で100枚のスライドが存在しているようなときをイメージしてください。
1枚目のスライドを編集後、50枚目のスライドを編集しようと思ったとき、どうされますか?
先頭や最後に近いスライドならば、[Home]キーや[End]キーで、先頭や最後のスライドにジャンプして、方向キーなどで少し移動すればOKです。
しかし、100枚のスライドの真ん中あたりのスライドを編集しようと思ったときに、そのスライドを選択するだけで、かなり面倒なのです。
それが1回や2回ならば、一旦スライド一覧にしたりするという方法でいいのかもしれませんが、あっちに行ったりこっちに行ったりが頻発するとホント厄介です。
そんなときに使えるマクロを作成してみました。
スライド番号を指定してジャンプするサンプルマクロ
インプットボックスを表示して、インプットボックスにスライド番号を入力すると、その番号のスライドまでジャンプするマクロです。
"PPT-2021-4-30 192-1"
プレゼンテーションファイルの編集中に上記のマクロを実行すると
「スライド番号を指定してください。」
と表示されたインプットボックスが表示され、指定したスライド番号のスライドがアクティブになります。
番号でスライドにジャンプするマクロでやってること
実際にジャンプする処理、指定されたスライドをアクティブにする処理は、最後の
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-3"
インプットボックスで入力された数値が、スライド番号の最大値より大きいときは、
"PPT-2021-4-30 192-4"
変数・sld_idの値を、変数・max_idの値に変更しています。
インプットボックスで入力されたのが1未満の数値だった場合は変数・sld_idを「1」にしています。
"PPT-2021-4-30 192-5"
対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013
たくさんのスライドの含まれているプレゼンテーションファイルの編集を行っていると、スライド間の移動が面倒になってきます。
例えば、全部で100枚のスライドが存在しているようなときをイメージしてください。
1枚目のスライドを編集後、50枚目のスライドを編集しようと思ったとき、どうされますか?
先頭や最後に近いスライドならば、[Home]キーや[End]キーで、先頭や最後のスライドにジャンプして、方向キーなどで少し移動すればOKです。
しかし、100枚のスライドの真ん中あたりのスライドを編集しようと思ったときに、そのスライドを選択するだけで、かなり面倒なのです。
それが1回や2回ならば、一旦スライド一覧にしたりするという方法でいいのかもしれませんが、あっちに行ったりこっちに行ったりが頻発するとホント厄介です。
そんなときに使えるマクロを作成してみました。
スライド番号を指定してジャンプするサンプルマクロ
インプットボックスを表示して、インプットボックスにスライド番号を入力すると、その番号のスライドまでジャンプするマクロです。
"PPT-2021-4-30 192-1"
プレゼンテーションファイルの編集中に上記のマクロを実行すると
「スライド番号を指定してください。」
と表示されたインプットボックスが表示され、指定したスライド番号のスライドがアクティブになります。
番号でスライドにジャンプするマクロでやってること
実際にジャンプする処理、指定されたスライドをアクティブにする処理は、最後の
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-3"
インプットボックスで入力された数値が、スライド番号の最大値より大きいときは、
"PPT-2021-4-30 192-4"
変数・sld_idの値を、変数・max_idの値に変更しています。
インプットボックスで入力されたのが1未満の数値だった場合は変数・sld_idを「1」にしています。
"PPT-2021-4-30 192-5"
コメント 0