Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » アクティブスライドを末尾にコピーするPowerPointマクロ

アクティブスライドを末尾にコピーするPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

特にたくさんのスライドの含まれるプレゼンテーションファイルをPowerPointで作る際に頻繁に発生する操作があります。

作成済みの前のほうにあるスライドをコピーして、それをプレゼンテーションファイルの末尾に貼り付けるという操作です。前のほうにあるスライドと同じレイアウト・似た内容のスライドを少しでも楽に作成しようとするときに、この操作が発生します。

ですが、スライドの枚数が多ければ多いほど、プレゼンテーションの前のほうに行ったり、末尾に戻ったりが面倒になります。

そんなときに使えるPowerPointマクロをご紹介しておきます。

[スポンサードリンク]

アクティブスライドをプレゼンテーションの末尾にコピーするサンプルマクロ

アクティブなスライドを、プレゼンテーションの末尾にコピーして、コピーした末尾のスライドをアクティブにするマクロです。

Sub アクティブスライドをプレゼンテーションの末尾にコピーする()

 Dim end_id As Long

 end_id = ActivePresentation.Slides.Count + 1

 With ActiveWindow
  .Selection.SlideRange.Duplicate.MoveTo _
   toPos:=end_id
  .View.GotoSlide end_id
 End With

End Sub

コピーしたいスライドがアクティブな状態で上記のマクロを実行すると、そのスライドを末尾にコピーして、コピーしたその末尾のスライドがアクティブになります。

サンプルマクロの解説

現在のプレゼンテーションファイルのスライドの枚数を取得して、その枚数に「+1」した値を変数・end_idに格納しておきます。
 end_id = ActivePresentation.Slides.Count + 1

アクティブなスライドの複製を作成して、その複製したスライドを末尾に移動します。
 With ActiveWindow
  .Selection.SlideRange.Duplicate.MoveTo _
   toPos:=end_id

SlideRangeオブジェクトのDuplicateメソッドは、
  .Selection.SlideRange.Duplicate...

スライドの複製を元のスライドの直後に作成して、複製で新たに作られたスライドを表すSlideRangeオブジェクトを返します。

アクティブスライドを末尾にコピーするPowerPointマクロ

その返されたSlideRangeオブジェクトをMoveToメソッドで、

アクティブスライドを末尾にコピーするPowerPointマクロ

プレゼンテーションの末尾に移動しています。
  .Selection.SlideRange.Duplicate.MoveTo _
   toPos:=end_id

スライドの複製が終わったら、ViewオブジェクトのGotoSlideメソッドで、末尾のスライドをアクティブにしています。
  .View.GotoSlide end_id

アクティブスライドを末尾にコピーするPowerPointマクロ

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » アクティブスライドを末尾にコピーするPowerPointマクロ

「Slide・スライド」の記事一覧

検索


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

.