PowerPoint Как запустить макрос и гиперссылку одновременно? - PullRequest
1 голос
/ 06 марта 2020

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

Я попытался создать по 1 макросу для каждой кнопки, указав, куда скользить, чтобы перейти к нему, но решение становится слишком запутанным, так как к концу игры сотни кнопок = сотни макросов.

Dim numCorrect As Integer
Dim numIncorrect As Integer
Dim userName As String
Dim printableSlideNum As Long 'ADDED
Sub GetStarted()
    Initialize
    ActivePresentation.SlideShowWindow.View.Next
End Sub
Sub Initialize()
    numCorrect = 0
    numIncorrect = 0
    ActivePresentation.SlideShowWindow.View.Next
End Sub
Sub Right()
    numCorrect = numCorrect + 10
End Sub
Sub Wrong()
    numIncorrect = numIncorrect + 25
End Sub
Sub Feedback()
    MsgBox "You spent " & numCorrect + numIncorrect & " minutes to solve the issue" & vbCr & _
    "Out of the " & numCorrect + numIncorrect & ", you wasted " & numIncorrect & " minutes by choosing the wrong options"
End Sub
Sub JumpTo(lSlideIndex As Long)
    SlideShowWindows(1).View.GotoSlide (lSlideIndex)
End Sub
Sub ONEA()
    Right
    JumpTo 6
End Sub

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

Пример : опция B переходит к слайду 60, имя формы будет 60, vba будет соответствовать имени формы и переходит к слайду 60

Любая помощь / идеи для этого приветствуются!

Примечание: мой VBA навыки по сути ноль.

1 Ответ

0 голосов
/ 06 марта 2020

Чтобы назвать свою форму, см. Как назвать объект в слайде PowerPoint?


Sub JumpToSlide(oShp As Shape)

lSlideIndex = CLng(oShp.Name)
SlideShowWindows(1).View.GotoSlide (lSlideIndex)

End Sub

Чтобы назначить этот макрос фигуре, вы можете щелкнуть правой кнопкой мыши по фигуре - > Гиперссылка -> Запуск макроса -> Выберите «JumpToSlide»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...