vba powerpoint selecione um slide por nome
-
21-12-2019 - |
Pergunta
Eu estou tentando selecionar um slide por nome.Eu adicionei um título através da estrutura de tópicos.abaixo está o código que não está funcionando."item Idaho não encontrado na apresentação da coleção"
ActivePresentation.Slides("Idaho").Select
Solução
A apresentação do nome e o texto no espaço reservado para título nave nada a ver um com o outro.
A menos que você tenha mudado, o primeiro slide da apresentação vai ser chamado de "Slide1", o segundo "Slide2" e assim por diante.
Se você, especificamente, precisa de uma forma para localizar o slide cujo texto do título = "Idaho", você precisa escrever uma função para procurar todos os slides da apresentação e retornar o primeiro que encontrar que atenda aos seus critérios.Por exemplo:
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
Outras dicas
Reviver uma velha pergunta, mas eu queria jogar isso em.
Enquanto é possível que ActivePresentation.Slides("MySlideName").Select
não funciona, isso não funciona para mim em 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
Isso, claro, pressupõe-se que existe uma apresentação chamada "MySlideName".Seu código vai ter de lidar com a processar correctamente o Item MySlideName not found in the Slides collection.
erro (err.number = -2147188160
).