Вопрос

Я пытаюсь создать кнопку «Назад», но с помощью гиперссылок она просто переносит меня на предыдущую страницу и зацикливается...напримересли у меня есть слайд 1, на котором есть ссылки на слайды 3, 4 и 5, то переместите ссылки 3 на слайды 6 и 7.Если я сейчас нахожусь на слайде 7 и нажимаю назад, это успешно возвращает меня к слайду 3, но затем я хочу щелкнуть назад и оказаться на слайде 1, а не вернуться к слайду 7 (надеюсь, я понимаю какой-то смысл!).

Я предполагаю, что единственный способ сделать это - с помощью VBA. Может ли кто-нибудь дать мне совет, как лучше всего создать кнопку «Назад»?(Я использую PowerPoint 2007)

Это было полезно?

Решение

Похоже, вам нужен «хлебный след» посещенных слайдов вместо простой кнопки «Назад».Таким образом, вам нужен способ сохранить след.

Эту проблему можно решить с помощью динамического массива.Новый просмотр добавит записи в массив.Ваши местоположения «Следующее» и «Предыдущее» можно найти, перемещаясь вверх или вниз по массиву.Вас ждут легкие логические головоломки.ненавижу направлять тебя универсальный ресурс, но я не в деталях, и обзор может быть полезен.

ОБНОВЛЯТЬ: Раньше я хотел этого для MS Access и думал, что легко найду решение для фрагмента.Но теперь я иду искать (думая, что и для вас это легко переконвертируется), и ничего не нахожу.Это удивительно, потому что я думаю, что это было бы интересно построить.Или ...построить его труднее, чем я ожидаю.

Другие советы

Сегодня я боролся с похожей проблемой и сделал небольшую "хлебную крошку" - генератор для Power Point.Функции ссылки пока нет, но вы можете реализовать ее, если хотите:Проект Гитхаб

Основные части кода

 Public Sub breadcrumbs(ByVal count As Integer, ByRef titles() As String)
    Dim cntr As Integer
    Dim content() As String
    Dim margin As Integer
    Dim width As Integer
    '----------------------------

    ' Set Titles
    content = titles
    cntr = 0
    ' Set width
    width = ((Application.ActivePresentation.PageSetup.SlideWidth - (margin * count * 2) - 20) / count) - 50

    ' Loop through all slides
    For Each sld In Application.ActivePresentation.Slides
        ' generate breadcrumb for each title
        For Each con In content
            sld.Shapes.AddShape(1, (50 + (width * cntr)), 15, width, 50).TextFrame.TextRange.Text = con
            cntr = cntr + 1
        Next con
        cntr = 0

    Next sld

End Sub

Существует очень громоздкий способ сделать это напрямую в PPT, без программирования.Вам понадобятся «слайды, обращенные вперед» и 2 набора «слайдов, обращенных назад».Обратные бывают двух типов — прямо-обратно и домой-обратно.Все они могут быть идентичными, но обратные скройте (например,вместо «Слайда 3» вам понадобятся «Слайд 3а», «Слайд 3б» и «Слайд 3в».).Они скрыты, поэтому при обычном прохождении вы их не увидите, но когда вы свяжетесь с ними, они появятся.Ваш список ссылок на слайдах «а» всегда должен указывать на слайды «б», а слайды «б» — на слайды «в».Гиперссылки на кнопке «Назад» на слайдах «a» должны быть «предыдущим слайдом», на слайдах «c» должны быть «последний просмотренный слайд», а на слайдах «h» должны быть «первым слайдом» (используйте «действие», чтобы установите это вместо «гиперссылки»).

Чтобы разобраться, потребуется время, но это можно сделать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top