Pregunta

Estoy tratando de seleccionar una diapositiva por su nombre.He añadido un título a través del esquema.a continuación se muestra el código que no está funcionando."elemento de Idaho no se encuentra en la colección de diapositivas"

ActivePresentation.Slides("Idaho").Select
¿Fue útil?

Solución

El nombre de la diapositiva y el texto en el marcador de posición del título no navegan nada que ver entre sí.

A menos que lo haya renombrado, la primera diapositiva en la presentación se denominará "Slide1", la segunda "Slide2" y así sucesivamente.

Si necesita específicamente una manera de localizar la diapositiva cuyo título de texto="Idaho", tendrá que escribir una función para buscar todas las diapositivas en la presentación y devolver la primera que encuentra que cumple con sus criterios.Por ejemplo:

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

Otros consejos

Reviviendo una vieja pregunta, pero quería lanzar esta en.

Mientras que es posible que ActivePresentation.Slides("MySlideName").Select no funciona, esto no funciona para mí en el PPT de 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

Esto, por supuesto, se supone que hay una presentación denominada "MySlideName".El código tendrá que lidiar con la gracia de manejo de la Item MySlideName not found in the Slides collection. error (err.number = -2147188160).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top