我一直在尝试在一张幻灯片上制作一个按钮,该按钮可以跳转到另一张名为的幻灯片。我希望能够做一些像activeslide.view.slide (“菜单幻灯片”)的事情。
这是行不通的,但我认为这样的事情应该...任何帮助都是最好的!
发布于 2014-04-08 04:34:30
首先,您需要实际命名您的幻灯片。幻灯片的".Name“属性与其在大纲中的名称不同,并且未与其名称相关联。我这么说只是因为很多人没有意识到这一点。必须通过VBA设置此属性。如果你不这样做,你可能会得到一些意想不到的结果。在插入幻灯片的位置,PowerPoint会将其命名为"Slide#“,因此,如果您将幻灯片插入到演示文稿的中间,则可以有多张幻灯片具有相同的名称。如果你正在寻找一个特别命名的幻灯片,并且没有重命名你的幻灯片,PowerPoint将返回它在任何循环中找到的第一个"Slide#“,用于循环浏览幻灯片集合。如果你编辑你的演示文稿并移动幻灯片,这会给你带来很多麻烦。我建议重命名您知道以后要链接到的任何幻灯片(或者编写一些代码,循环遍历整个幻灯片集合,并将每张幻灯片的".Name“属性更改为其Title 1对象内容)。
下面是重命名当前幻灯片的一些代码
Sub ChangeSlideName()
Dim NewName As String
Dim ActiveSlide As Slide
Set ActiveSlide = ActiveWindow.View.Slide
NewName = InputBox("Enter new slide name for slide " & _
ActiveSlide.SlideIndex, "New Slide Name", ActiveSlide.Name)
If NewName = "" Then
Exit Sub
End If
ActiveSlide.Name = NewName
End Sub
下面是获取幻灯片索引号的一些代码。它的工作原理和其他答案一样,只是更直接一点。
Function GetSlideIndex(SlideName As String)
For Each Slide In ActivePresentation.Slides
If Slide.Name = SlideName Then
GetSlideIndex = Slide.SlideIndex
Exit Function
End If
Next
End Function
这是实际上会把你带到你的幻灯片上的sub
Sub MoveToSlide()
SlideShowWindows(1).View.GotoSlide GetSlideIndex("YourSlideName")
End Sub
编辑以添加:可以将MoveToSlide子对象添加到任何对象的鼠标单击或鼠标悬停操作中,而不仅仅是命令按钮。要执行此操作,请选择要使用的对象,然后转到插入->链接->操作,然后选择运行宏。
发布于 2011-01-28 13:01:43
试试这段代码
通过传递名称来获取幻灯片索引的函数
Function GetSlideIndex(Slide As String) As Integer
Dim retVal As Integer
retVal = 0
For i = 1 To ActivePresentation.Slides.Count
If ActivePresentation.Slides(i).Name = Slide Then
retVal = i
Exit For
End If
Next
GetSlideIndex = retVal
End Function
这里使用了CommandButton
导航到幻灯片
Private Sub CommandButton1_Click()
SlideShowWindows(1).View.GotoSlide GetSlideIndex("Slide2"), 1
End Sub
https://stackoverflow.com/questions/4818674
复制相似问题