選択中のスライドは以下のようにして取得できます。
ActiveWindow.Selection.SlideRange
ただし、1枚も選択していないときに上記で取得しようとするとエラーが発生してしまいます。
1枚も選択していないことを確認するには、以下のようにSelection.Type
で判定します。
If ActiveWindow.Selection.Type = ppSelectionNone Then '1枚もスライドを選択していないなら・・・
SlideRangeに対して一括で同じ設定をおこなったり、同じ動作を行う場合は、SlideRangeオブジェクトのプロパティとメソッドを使用します。
たとえば、選択中のスライドすべてのレイアウトをグラフに変更する場合は次のようになります。
ActiveWindow.Selection.SlideRange.Layout = ppLayoutChart
ただし、プロパティやメソッドの中には1つのスライドにのみ適用可能なものがあり、上記の方法で実行するとエラーが発生するものがあります。
たとえば、選択中のスライドインデックスを取得しようとした場合、複数のスライドを選択した状態で次のコードを実行するとエラーとなってしまいます。
ActiveWindow.Selection.SlideRange.SlideIndex
次のように選択したスライド数が1枚であることを確認する必要があります。
If ActiveWindow.Selection.Type = ppSelectionNone Then MsgBox "スライドが未選択です" ElseIf ActiveWindow.Selection.SlideRange.Count = 1 Then MsgBox ActiveWindow.Selection.SlideRange.SlideIndex Else MsgBox "スライドが複数選択されています" End If