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 回答
听起来你想要一张访问幻灯片的“痕迹痕迹”,而不是一个简单的后退按钮 . 因此,您需要一种方法来保留踪迹 .
这可以通过动态数组来解决 . 新浏览会向阵列添加记录 . 通过向上或向下移动阵列可以找到您的"Next"和"Previous"位置 . 你会有一些温和的逻辑谜题 . 我讨厌推荐你a generic resource,但我没有具体细节,概述可能会有所帮助 .
UPDATE: 我很容易找到一个片段解决方案 . 但是现在我去搜索(认为它也会很容易地为你转换),而且我的构建比我预期的要难得多 .
今天我正在努力解决类似的问题,并为powerpoint做了一点发电机 . 目前还没有链接功能,但如果您愿意,可以实现它:Github Project
Essential parts of the code
在PPT中直接执行此操作非常麻烦,无需编程 . 你需要“向前滑动”和2套“向后滑动” . 向后的有两种类型 - 直接后背和后背 . 它们都可以是相同的,但隐藏后面的(例如,而不是“幻灯片3”,你需要“幻灯片3a”和“幻灯片3b”和“幻灯片3c” . ) . 它们是隐藏的,因此当你正常进展时,你将看不到它们,但是当你链接到它们时,它们就会出现 . “a”幻灯片上的链接列表应始终指向“b”幻灯片,而“b”幻灯片将指向“c”幻灯片 . 您在“a”幻灯片上的“后退按钮”上的超链接应该是“上一张幻灯片”,而“c”幻灯片上的超链接应该是“最后一张幻灯片”,而“h”幻灯片应该是“第一张幻灯片”(使用“操作”来设置此而不是'超链接') .
它需要一段时间才能完成,但它可以完成 .