Share via


SlideRange コレクション オブジェクト

Microsoft PowerPoint Visual Basic リファレンス

SlideRange コレクション オブジェクト

複数のオブジェクト
SlideRange
複数のオブジェクト

ノートまたはスライド範囲を表すコレクションで、1 つのスライドからプレゼンテーションすべてのスライドを含むことができるスライドの集合です。プレゼンテーションのすべてのスライドまたは選択しているすべてのスライドからスライド範囲を作成できます。たとえば、プレゼンテーションの最初の 3 つのスライドを指定したり、プレゼンテーションで選択したすべてのスライドを指定したり、またはプレゼンテーションのすべてのタイトル スライドを指定する SlideRange コレクションを作成できます。

使い方

次の方法について説明します。

  • 名前またはインデックス番号で指定したスライドの集合を取得する
  • プレゼンテーションで選択したすべての、またはいくつかのスライドを取得する
  • ノートを取得する
  • スライド範囲にプロパティおよびメソッドを適用する

名前またはインデックス番号で指定したスライドの集合を取得する

プレゼンテーションのスライドの集合を表す SlideRange コレクションを取得するには、Slides.Range(index) プロパティを使用します。引数 index には、スライドの名前またはインデックス番号、あるいはスライドの名前またはインデックス番号を含む配列を指定します。Array 関数を使用して、名前またはインデックス番号の配列を作成できます。次の使用例は、作業中のプレゼンテーションのスライド 1 と 3 の背景色に塗りつぶしを設定します。

With ActivePresentation.Slides.Range(Array(1, 3))
    .FollowMasterBackground = False
    .Background.Fill.PresetGradient msoGradientHorizontal, _
         1, msoGradientLateSunset
End With
		

次の使用例は、作業中のプレゼンテーションの "Intro" および "Big Chart" という名前のスライドの背景色に塗りつぶしを設定します。スライドが作成されると、作成したフォーム名 Sliden (n は整数) が自動的に割り当てられます。スライドに名前を設定するには、Name プロパティを使用します。

With ActivePresentation.Slides.Range(Array("Intro", "Big Chart"))
    .FollowMasterBackground = False
    .Background.Fill.PresetGradient msoGradientHorizontal, _
        1, msoGradientLateSunset
End With
		

Range メソッドを使用して、任意の数のスライドを取得できますが、SlideRange コレクションの単一のメンバーだけを取得する場合は、Item メソッドを使用する方が簡単です。たとえば、Slides.Range(1) よりも Slides(1) の方が記述が簡単になります。

プレゼンテーションで選択したすべての、またはいくつかのスライドを取得する

選択したすべてのスライドを取得するには、Selection オブジェクトの SlideRange プロパティを使用します。次の使用例は、ウィンドウ 1 で選択したすべてのスライドの背景色に塗りつぶしを設定します。

With Windows(1).Selection.SlideRange
    .FollowMasterBackground = False
    .Background.Fill.PresetGradient msoGradientHorizontal, _
        1, msoGradientLateSunset
End With
		

選択したスライドから単一のスライドを取得するには、Selection.SlideRange(index) プロパティを使用します。引数 index には、スライド名またはインデックス番号を指定します。次の使用例は、ウィンドウ 1 の選択したスライドのコレクションの、スライド 2 の背景色に塗りつぶしを設定します。

With Windows(1).Selection.SlideRange(2)
    .FollowMasterBackground = False
    .Background.Fill.PresetGradient msoGradientHorizontal, _
        1, msoGradientLateSunset
End With
		

ノートを取得する

ノートを表す SlideRange コレクションを取得するには、NotesPage プロパティを使用します。次の使用例は、作業中のプレゼンテーションのスライド 1 のノートのプレースホルダ 2 (ノート領域) にテキストを挿入します。

ActivePresentation.Slides(1).NotesPage.Shapes _
    .Placeholders(2).TextFrame.TextRange.InsertAfter "追加テキスト"
		

スライド範囲にプロパティまたはメソッドを適用する

いくつかのスライドを選択し、画面上でそれらのスライドを同時に処理できるときと同様に、SlideRange コレクションを作成し、それにプロパティやメソッドを適用して、同時に複数のスライドを処理できます。スライド表示モードで実行するコマンドの中には、複数のスライドを選択すると無効になるものがあるのと同様に、Slide オブジェクトまたは 1 つのスライドだけを含む SlideRange コレクションで実行されるプロパティやメソッドの中にも、複数のスライドを含む SlideRange コレクションに適用すると失敗するものがあります。通常、複数のスライドが選択され、手動で処理を実行できない場合、複数のスライドを含む SlideRange コレクションを使用してもプログラムで実行することはできません。

単一のスライドまたは複数のスライドが選択されているかにより、画面から実行される操作 (クリップボードへのコピー、スライドの背景色の設定など) に対し、これらの操作に関連するプロパティとメソッドは、複数のスライドを含む SlideRange コレクションで実行されます。これらのプロパティやメソッドを複数のスライドに適用するときの各動作のガイドラインを次に示します。

  • SlideRange コレクションにメソッドを適用することと、その範囲のすべての Slide オブジェクトをグループとして、メソッドを適用することは同じです。
  • SlideRange コレクションのプロパティの値を設定することと、各スライドで個別にプロパティの値を設定することは同じです (列挙型のプロパティでは mixed 値を設定しても効果はありません)。
  • 列挙型を取得する SlideRange コレクションのプロパティは、コレクションのすべてのスライドが同じプロパティ値を持つ場合、コレクションのそれぞれのスライドのプロパティ値を取得します。コレクションのすべてのスライドで、このプロパティ値が異なる場合、プロパティは異なる複数の値を取得します。
  • 単純なデータ型 (長整数型 (Long)、単精度浮動小数点型 (Single)、文字列型 (String) など) を取得する SlideRange コレクションのプロパティは、コレクションのすべてのスライドが同じプロパティ値を持つ場合、コレクション内のそれぞれのスライドのプロパティ値を取得します。コレクションのすべてのスライドで、このプロパティ値が異なる場合、プロパティは -2 を返すか、エラーとなります。たとえば、複数のスライドを含む SlideRange オブジェクトで Name プロパティを使用すると、各スライドの Name プロパティ値が異なるために、エラーが発生します。
  • スライドの書式設定プロパティの中には、SlideRange コレクションに直接適用されるプロパティやメソッドでは設定されず、ColorScheme オブジェクトなどの、SlideRange コレクションに含まれるオブジェクトに適用されるプロパティやメソッドで設定されるプロパティがあります。含まれるオブジェクトが画面上の複数のオブジェクトで実行できる操作を表す場合、複数のスライドを含む SlideRange コレクションからオブジェクトを取得でき、そのプロパティやメソッドは、前述の規則に従います。たとえば、ColorScheme プロパティを使用して、指定した SlideRange コレクションのすべてのスライドで使用される配色を表す ColorScheme オブジェクトを取得できます。この ColorScheme オブジェクトにプロパティを設定すると、SlideRange コレクションのすべてのスライドの ColorScheme オブジェクトにもこれらのプロパティが設定されます。