Вопрос

Я пытаюсь выбрать слайд по имени.Я добавил заголовок через структуру.ниже приведен код, который не работает.«Элемент Айдахо не найден в коллекции слайдов»

ActivePresentation.Slides("Idaho").Select
Это было полезно?

Решение

Имя слайда и текст в заголовочном заполнете неве нечего делать друг с другом.

Если вы не переименовали его, первый слайд в презентации будет назван «Slide1», второй «слайд2» и так далее.

Если вы конкретно нужны способ найти слайд, Text Text= «Idaho», вам нужно будет написать функцию для поиска всех слайдов в презентации и вернуть первый, который он находит, что соответствует вашим критериям.Например:

Sub TestMe()
    Dim oSl As Slide
    Set oSl = FindSlideByTitle("idaho")

    If Not oSl Is Nothing Then
        MsgBox "Found your title on slide " & CStr(oSl.SlideIndex)
    End If

End Sub
Function FindSlideByTitle(sTextToFind As String) As Slide
    Dim oSl As Slide

    For Each oSl In ActivePresentation.Slides
        With oSl.Shapes.Title.TextFrame
            If .HasText Then
                If UCase(.TextRange.Text) = UCase(sTextToFind) Then
                    Set FindSlideByTitle = oSl
                End If
            End If
        End With
    Next

End Function
.

Другие советы

Возрождение старого вопроса, но я хотел добавить это.

Хотя возможно, что ActivePresentation.Slides("MySlideName").Select не работает, у меня это работает в PPT 2010:

Dim PPTObj As PowerPoint.Application
Set PPTObj = New PowerPoint.Application
Dim PPTClinic As PowerPoint.Presentation
Set PPTClinic = PPTObj.Presentations.Open(FileName:="Your File Name Here")
PPTClinic.Slides("MySlideName").Select

Это, конечно, предполагает наличие слайда с именем «MySlideName».Вашему коду придется изящно обрабатывать Item MySlideName not found in the Slides collection. ошибка (err.number = -2147188160).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top