单击鼠标即可运行宏和超链接

时间:2018-02-24 05:30:30

标签: vba powerpoint

我需要PowerPoint幻灯片中的一个按钮,当我点击它时,它会1)运行一个宏,并且2)超链接到同一个演示文稿中的另一张幻灯片。

我只能看到一种方法来做一个或另一个,而不是同时做两个。

我的宏代码是:

Sub question1_real()
Dim oSh As Shape
   Dim oSl As Slide
   Dim lScore As Long

   ' By doing it this way it's easy to change to a different slide if you
   ' need to later for some reason:
   Set oSl = ActivePresentation.Slides(18)

   ' Change this if your shape is named something else:
   Set oSh = oSl.Shapes("TextBox 2")

   With oSh
      ' Make sure it's not blank to start with:
      If Len(.TextFrame.TextRange.Text) = 0 Then
          .TextFrame.TextRange.Text = "1"
      End If
      lScore = CLng(.TextFrame.TextRange.Text)
      lScore = lScore + 1
      .TextFrame.TextRange.Text = CStr(lScore)
   End With
End Sub

我的VBA技能为零。上面的代码是从某人那里借来的。我使用PowerPoint中的“插入操作”选项来使其工作。

1 个答案:

答案 0 :(得分:0)

假设您已经给出了一个“运行宏”操作设置的形状并选择了上面发布的子例程,则可以将此功能添加到VBA项目中:

Sub JumpTo(lSlideIndex As Long)     SlideShowWindows(1).View.GoToSlide(lSlideIndex) 结束子

然后,无论您想要跳转到另一张幻灯片,请按以下方式调用:

Call JumpTo(42) ' or whatever slide you want to jump to

或只是

JumpTo 42

如果您需要在演示文稿中多次使用它,在函数中使用它会更方便。如果它只是一次性的,您可以将其粘贴到现有代码中:

SlideShowWindows(1).View.GoToSlide (42)