У меня есть макрос (ниже) для кнопки, которую мне нужно использовать. Я хочу изменить значение lngCurr на «заголовок раздела» макета и сделать так, чтобы при запуске макроса пользователь возвращался к последнему экземпляру слайда этого конкретного макета.

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

1 ответ1

1

Вот функция, которая возвращает индекс слайда последнего слайда с указанным макетом. Это плюс то, что у тебя есть, должно привести тебя туда.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .