Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » 複数のスライドを選択するPowerPointマクロ

複数のスライドを選択するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

「パワーポイント マクロ 複数のスライド選択」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

複数のスライドを選択するPowerPointのマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

[スポンサードリンク]

複数のスライドを選択するサンプルマクロ

参考になりそうな、簡単なマクロを作ってみました。

表示状態をスライド一覧モードにして、最初と最後のスライドを選択するマクロです。

Sub 最初と最後のスライドを選択する()

 Dim cnt As Long

 ActiveWindow.ViewType = ppViewSlideSorter

 With ActivePresentation.Slides
  cnt = .Count
  .Range(Array(1, cnt)).Select
 End With

End Sub

サンプルマクロの解説

表示状態をスライド一覧モードにして、
 ActiveWindow.ViewType = ppViewSlideSorter

スライドの枚数を変数・cntに格納して、
 With ActivePresentation.Slides
  cnt = .Count

先頭と最後のスライドを選択しています。
  .Range(Array(1, cnt)).Select

複数スライドを取得するにはSlides.Rangeメソッドに配列を指定

PowerPoint VBAで複数の図形を扱うときなどに利用するShapeRangeオブジェクトのSelectメソッドの場合、引数・Replaceによって、既に選択されている図形の選択を解除するか否かを指定できます。

複数のスライドを選択するPowerPointマクロ

しかし、SlideRangeオブジェクトのSelectメソッドは、既に選択されているスライドに追加で選択するような引数を指定できるような作りにはなっていません。

複数のスライドを選択するPowerPointマクロ

そのため、SledesコレクションオブジェクトのRangeメソッドに、配列を指定することで複数のスライドを取得して、その複数のスライドまとめて選択するというマクロにしました。

例えば、
 ActivePresentation.Slides.Range(Array(1, 3))
というコードで、1・3枚目のスライドを取得できます。

Array関数を使って、「1」「3」という値を各要素に持った配列を作って、Slides.Rangeメソッドの引数に渡しています。

Slides.Rangeメソッドが返す、SlideRangeコレクションオブジェクトのSelectメソッドを使った
 ActivePresentation.Slides.Range(Array(1, 3)).Select
というコードにすれば、1・3枚目のスライドを選択できます。

この考え方を利用して、先頭と最後のスライドを選択するようにしたのが、上記の
 With ActivePresentation.Slides
  cnt = .Count
  .Range(Array(1, cnt)).Select
 End With
というコードです。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » 複数のスライドを選択するPowerPointマクロ

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

検索


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

.