PPT Macro vai para a última instância de determinado layout de slide

0

Eu tenho uma macro (abaixo) para um botão que preciso usar. O que eu quero fazer é alterar o valor de lngCurr para o layout 'cabeçalho da seção' e fazer com que, quando a macro for executada, leve o usuário de volta à última instância de um slide desse layout específico.

Dim lngCurr As Long lngCurr = SlideShowWindows(1).View.CurrentShowPosition SlideShowWindows(1).View.GotoSlide (lngCurr - 1), msoTrue

    
por Often Right 13.05.2014 / 10:45

1 resposta

1

Aqui está uma função que retorna o índice de slides do último slide com o layout especificado. Isso mais o que você tem deve te levar até lá.

Sub Test()
    MsgBox LastSlideWithLayout("Section header")
End Sub

Function LastSlideWithLayout(sLayoutName As String) As Long

    Dim oSl As Slide
    Dim x As Long

    For x = ActivePresentation.Slides.Count To 1 Step -1
        Set oSl = ActivePresentation.Slides(x)
        If UCase(oSl.CustomLayout.Name) = UCase(sLayoutName) Then
            LastSlideWithLayout = x
            Exit Function
        End If
    Next

    ' return 0 to indicate that no slides with this layout were found
    LastSlideWithLayout = 0

End Function
    
por 25.05.2014 / 02:58