gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:27:56 25 4
gpt4 key购买 nike

我一直在尝试在幻灯片上制作一个按钮,该按钮跳转到另一张已命名的幻灯片。我希望能够做一些类似 activeslide.view.slide ("Menu Slide")

那行不通,但我认为这样的事情应该......任何帮助都会很棒!

最佳答案

首先,您需要实际命名幻灯片。幻灯片的“.Name”属性与您大纲中的名称不同,并且没有关联。我这么说只是因为很多人没有意识到这一点。您必须通过 VBA 设置此属性。如果不这样做,可能会得到一些意想不到的结果。 PowerPoint 会将您的幻灯片命名为“幻灯片#”,因此如果您在演示文稿的中间插入幻灯片,则可以拥有多张同名的幻灯片。如果您正在查找特定命名的幻灯片并且尚未重命名您的幻灯片,PowerPoint 将返回它在您用于循环浏览幻灯片集合的任何循环中找到的第一个“幻灯片#”。如果您编辑演示文稿并四处移动幻灯片,这会给您带来很多麻烦。我建议重命名您知道稍后要链接到的任何幻灯片(或编写一些内容,循环遍历整个幻灯片集合并将每张幻灯片的“.Name”属性更改为其标题 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 MoveToSlide()

SlideShowWindows(1).View.GotoSlide GetSlideIndex("YourSlideName")

End Sub

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

关于vba - 是否可以使用 VBA 跳转到特定的 PowerPoint 幻灯片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com