「パワーポイント マクロ 複数のスライド選択」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
複数のスライドを選択するPowerPointのマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。
複数のスライドを選択するサンプルマクロ
参考になりそうな、簡単なマクロを作ってみました。
表示状態をスライド一覧モードにして、最初と最後のスライドを選択するマクロです。
Dim cnt As Long
ActiveWindow.ViewType = ppViewSlideSorter
With ActivePresentation.Slides
cnt = .Count
.Range(Array(1, cnt)).Select
End With
サンプルマクロの解説
表示状態をスライド一覧モードにして、
ActiveWindow.ViewType = ppViewSlideSorter
スライドの枚数を変数・cntに格納して、
With ActivePresentation.Slides
cnt = .Count
先頭と最後のスライドを選択しています。
.Range(Array(1, cnt)).Select
複数スライドを取得するにはSlides.Rangeメソッドに配列を指定
PowerPoint VBAで複数の図形を扱うときなどに利用するShapeRangeオブジェクトのSelectメソッドの場合、引数・Replaceによって、既に選択されている図形の選択を解除するか否かを指定できます。
しかし、SlideRangeオブジェクトのSelectメソッドは、既に選択されているスライドに追加で選択するような引数を指定できるような作りにはなっていません。
そのため、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マクロ