Поделиться через


Метод Slides.Range (PowerPoint)

Возвращает объект SlideRange , представляющий подмножество слайдов в коллекции Slides .

Синтаксис

expression. Диапазон (индекс)

Выражение Переменная, представляющая объект Slides .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Индекс; Необязательный Variant Отдельные слайды, которые должны быть включены в диапазон. Может быть целым числом, указывающим номер индекса слайда, строкой , указывающей имя слайда, или массивом, содержащим целые числа или строки. Если этот аргумент опущен, метод Range возвращает все объекты в указанной коллекции.

Возвращаемое значение

SlideRange

Замечания

Хотя метод Range можно использовать для возврата любого количества фигур или слайдов, проще использовать метод Item , если требуется вернуть только один член коллекции. Например, является более простым, Shapes(1) чем Shapes.Range(1), и Slides(2) проще , чем Slides.Range(2).

Чтобы указать массив целых чисел или строк для index, можно использовать функцию Array . Например, следующая инструкция возвращает две фигуры, указанные по имени.

Dim myArray() As Variant, myRange As Object myArray = Array("Oval 4", "Rectangle 5") Set myRange = ActivePresentation.Slides(1).Shapes.Range(myArray)

Пример

В этом примере задается цвет заголовка для слайдов один и три.

Set mySlides = ActivePresentation.Slides.Range(Array(1, 3))

mySlides.ColorScheme.Colors(ppTitle).RGB = RGB(0, 255, 0)

В этом примере задается цвет заголовка для слайдов с именами Slide6 и Slide8.

Set mySlides = ActivePresentation.Slides _
    .Range(Array("Slide6", "Slide8"))

mySlides.ColorScheme.Colors(ppTitle).RGB = RGB(0, 255, 0)

В этом примере задается цвет заголовка для всех слайдов в активной презентации.

Set mySlides = ActivePresentation.Slides.Range

mySlides.ColorScheme.Colors(ppTitle).RGB = RGB(255, 0, 0)

В этом примере создается массив, который содержит все заглавные слайды в активной презентации, использует этот массив для определения диапазона слайдов, а затем задает цвет заголовка для всех слайдов в этом диапазоне.

Dim MyTitleArray() As Long

Set pSlides = ActivePresentation.Slides

ReDim MyTitleArray(1 To pSlides.Count)

For Each pSlide In pSlides

    If pSlide.Layout = ppLayoutTitle Then

        nCounter = nCounter + 1

        MyTitleArray(nCounter) = pSlide.SlideIndex

    End If

Next pSlide

ReDim Preserve MyTitleArray(1 To nCounter)



Set rngTitleSlides = ActivePresentation.Slides.Range(MyTitleArray)

rngTitleSlides.ColorScheme.Colors(ppTitle).RGB = RGB(255, 123, 99)

См. также

Объект Slides

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.