PowerPoint中的分支幻灯片(VBA)

时间:2009-09-02 19:11:55

标签: powerpoint powerpoint-vba

我正在尝试创建一个后退按钮但是使用超链接它只是将我带到上一页并最终循环...例如如果我有幻灯片1,其中有幻灯片3,4和4的链接。 5然后将3个链接滑动到6& 7.如果我目前正在使用幻灯片7并单击它,它会成功将我带回幻灯片3但是我想要单击返回并最终在幻灯片1处结束而不是返回到幻灯片7(希望我有一些意义!) 。

我认为我这样做的唯一方法是VBA可以有人给我一些关于创建后退按钮的最佳方法的建议吗? (我正在使用PowerPoint 2007)

3 个答案:

答案 0 :(得分:3)

我今天正在努力解决类似问题,并为powerpoint做了一点" breadcrumb" - 发电机。目前还没有链接功能,但如果您愿意,可以实现它: Github Project

代码的基本部分

 Public Sub breadcrumbs(ByVal count As Integer, ByRef titles() As String)
    Dim cntr As Integer
    Dim content() As String
    Dim margin As Integer
    Dim width As Integer
    '----------------------------

    ' Set Titles
    content = titles
    cntr = 0
    ' Set width
    width = ((Application.ActivePresentation.PageSetup.SlideWidth - (margin * count * 2) - 20) / count) - 50

    ' Loop through all slides
    For Each sld In Application.ActivePresentation.Slides
        ' generate breadcrumb for each title
        For Each con In content
            sld.Shapes.AddShape(1, (50 + (width * cntr)), 15, width, 50).TextFrame.TextRange.Text = con
            cntr = cntr + 1
        Next con
        cntr = 0

    Next sld

End Sub

答案 1 :(得分:2)

听起来你想要一张访问幻灯片的“痕迹痕迹”,而不是一个简单的后退按钮。因此,您需要一种方法来保留踪迹。

这可以通过动态数组来解决。新浏览会向阵列添加记录。通过向上或向下移动阵列可以找到“下一个”和“上一个”位置。你会有一些温和的逻辑谜题。我讨厌推荐你a generic resource,但我没有具体细节,概述可能会有所帮助。

更新:我以前想要这个MS Access,并且我认为我很容易找到一个片段解决方案。但现在我去搜索(认为它也会轻易转换为你),我什么都没发现。这是令人惊讶的,因为我认为建造它会很有趣。或者......它比我预期的更难建造。

答案 2 :(得分:2)

在PPT中直接执行此操作非常麻烦,无需编程。你需要“向前滑动”和2套“向后滑动”。向后的有两种类型 - 直接后背和后背。它们都可以是相同的,但隐藏后面的(例如,而不是“幻灯片3”,你需要“幻灯片3a”和“幻灯片3b”和“幻灯片3c”。)。它们是隐藏的,因此当你正常进展时,你将看不到它们,但是当你链接到它们时,它们就会出现。 “a”幻灯片上的链接列表应始终指向“b”幻灯片,“b”幻灯片将指向“c”幻灯片。您在“a”幻灯片上的“后退按钮”上的超链接应该是“上一张幻灯片”,而“c”幻灯片上的超链接应该是“最后一张幻灯片”,而“h”幻灯片应该是“第一张幻灯片”(使用“操作”来设置此而不是'超链接')。

需要一段时间才能完成,但可以完成。