vba de powerpoint, seleccione una diapositiva por su nombre
-
21-12-2019 - |
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
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
).