首页 文章

PowerPoint中的分支幻灯片(VBA)

提问于
浏览
6

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

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

3 回答

  • 2

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

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

    UPDATE: 我很容易找到一个片段解决方案 . 但是现在我去搜索(认为它也会很容易地为你转换),而且我的构建比我预期的要难得多 .

  • 2

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

    Essential parts of the code

    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
    
  • 3

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

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

相关问题