VBA PowerPoint Selezionare una diapositiva per nome
-
21-12-2019 - |
Domanda
Sto cercando di selezionare una diapositiva per nome.Ho aggiunto un titolo tramite il contorno.Di seguito è riportato il codice che non funziona."Item Idaho non trovato nella collezione di diapositive"
ActivePresentation.Slides("Idaho").Select
. Soluzione
Il nome della diapositiva e il testo nel segnalino del titolo nocca nulla da fare con l'altro.
A meno che tu non lo abbia rinnesuto, la prima diapositiva nella presentazione verrà denominata "slide1", il secondo "slide2" e così via.
Se hai specificamente bisogno di un modo per individuare la diapositiva il cui testo del titolo="Idaho", è necessario scrivere una funzione per cercare tutte le diapositive nella presentazione e restituire il primo che incontra i tuoi criteri.Ad esempio:
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
. Altri suggerimenti
Rianimare una vecchia domanda, ma volevo gettarlo in.
Mentre è possibile che ActivePresentation.Slides("MySlideName").Select
non funzioni, funziona per me in 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
.
Questo, ovviamente, presuppone che ci sia una diapositiva denominata "MySLidename".Il tuo codice dovrà affrontare con graziosamente l'errore Item MySlideName not found in the Slides collection.
(err.number = -2147188160
).