Метод 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)
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.