是否可以使用VBA跳转到特定的PowerPoint幻灯片?

是否可以使用VBA跳转到特定的PowerPoint幻灯片?,vba,powerpoint,Vba,Powerpoint,我一直在尝试在一张幻灯片上制作一个按钮,然后跳转到另一张名为的幻灯片。我希望能够执行类似activeslide.view.slide(“菜单幻灯片”)的操作 这不管用,但我认为这样的事情应该。。。任何帮助都会很好 试试这段代码 通过传递名称获取幻灯片索引的函数 函数GetSlideIndex(幻灯片为字符串)为整数 作为整数的Dim retVal retVal=0 对于i=1到ActivePresentation.Slides.Count 如果ActivePresentation.Slides(

我一直在尝试在一张幻灯片上制作一个按钮,然后跳转到另一张名为的幻灯片。我希望能够执行类似activeslide.view.slide(“菜单幻灯片”)的操作

这不管用,但我认为这样的事情应该。。。任何帮助都会很好

试试这段代码

通过传递名称获取幻灯片索引的函数

函数GetSlideIndex(幻灯片为字符串)为整数 作为整数的Dim retVal retVal=0 对于i=1到ActivePresentation.Slides.Count 如果ActivePresentation.Slides(i).Name=Slide,则 retVal=i 退出 如果结束 下一个 GetSlideIndex=retVal 端函数 这里使用了
CommandButton
导航到幻灯片

Private子命令按钮1\u单击()
SlideShowWindows(1).View.GotoSlide GetSlideIndex(“Slide2”),1
端接头

首先,您需要实际命名幻灯片。幻灯片的“.Name”属性与大纲中的名称不同,并且没有连接。我这么说只是因为很多人没有意识到这一点。必须通过VBA设置此属性。如果你不这样做,你会得到一些意想不到的结果。PowerPoint将为您的幻灯片“幻灯片”提供任何插入的名称,因此,如果将幻灯片插入到演示文稿的中间,可以使用多个具有相同名称的幻灯片。如果您正在查找特定命名的幻灯片,但尚未重命名幻灯片,PowerPoint将返回在幻灯片集合中循环使用的任何循环中找到的第一张“幻灯片”。如果您编辑演示文稿并移动幻灯片,这会给您带来很多麻烦。我建议您重命名您知道以后要链接到的任何幻灯片(或者编写一些内容,循环浏览整个幻灯片集合,并将每张幻灯片的“.Name”属性更改为其标题1对象内容)

下面是一些重命名当前幻灯片的代码

子变更slideName()
将NewName设置为字符串
将活动幻灯片设置为幻灯片
设置ActiveSlide=ActiveWindow.View.Slide
NewName=InputBox(“为幻灯片输入新幻灯片名称”&_
ActiveSlide.SlideIndex,“新幻灯片名称”,ActiveSlide.Name)
如果NewName=“”,则
出口接头
如果结束
ActiveSlide.Name=NewName
端接头

下面是一些获取幻灯片索引号的代码。它的工作原理与另一个答案类似,只是更直接一点

函数GetSlideIndex(SlideName作为字符串) 对于ActivePresentation.Slides中的每张幻灯片 如果Slide.Name=SlideName,则 GetSlideIndex=Slide.SlideIndex 退出功能 如果结束 下一个 端函数
这是将实际发送到幻灯片的sub

Sub-MoveToSlide()
SlideShowWindows(1.View.GotoSlide GetSlideIndex(“您的SlideName”)
端接头

编辑以添加:MoveToSlide子对象可以添加到任何对象的鼠标单击或鼠标悬停操作中,而不仅仅是命令按钮。要执行此操作,请选择要使用的对象,然后转到“插入->链接->操作”并选择“运行宏”。

您可以在不使用任何VBA的情况下执行此操作,它称为操作/触发器。据我所知,触发器仅对幻灯片上的动画对象有效,而不是幻灯片本身。不,不适用于操作。只需选择任何对象,如图片或矩形,然后在“插入”选项卡(2007/2010)上单击“操作”。在“单击鼠标”上,选择要将其转到的幻灯片。就这么简单。我只是做了
幻灯片(“Slide2”)。选择