我正在开发一个大的非线性powerpoint,它有许多子部分。这需要一个目录幻灯片(TOC)。在这张幻灯片中,我用自己的图片表示每个部分。幻灯片上还有2个按钮,用户可以在图像之间切换。按钮通过将适当的部分图像设置为可见而将所有其他部分图像设置为不可见来执行此操作,以便一次只能看到一个部分图像。我的目标是确保每当用户返回到目录幻灯片时,幻灯片每次都显示相同的部分图像,而不管上一次输入的部分是什么,即每当第1部分的图像应该可见时用户返回目录。我该怎么做呢? 另外,如果我能找到新的资源来学习更多关于语法和其他vba编码的知识,我将非常感激。
我已经咨询过:
pptalchemy.co.uk
skp.mvps.org
msdn.microsoft.com
我找不到更多有用的好网站。
答案 0 :(得分:0)
我不太了解情况,但有一种可能性:
在TOC之前添加另一张幻灯片。您可以将其作为TOC幻灯片的副本(包含您想要的图像)。
而不是链接回“真正的”TOC幻灯片,而是链接到这个幻灯片。
在此幻灯片上,添加一个覆盖整个幻灯片的矩形,使其成为99%透明,然后在操作设置上运行宏鼠标。
让宏只执行将幻灯片2上所需的图像设置为可见,然后跳转到幻灯片2(真正的TOC幻灯片),例如
SlideShowWindows(1).View.GoToSlide(2)
鼠标悬停在用户移动鼠标时会立即触发,因为这会触发从一张幻灯片跳转到同一张幻灯片,用户将无法看到它。
答案 1 :(得分:0)
大部分解决方案来自[pptalchemy](http://www.pptalchemy.co.uk/PowerPoint_Auto_Open_Code.html):
我下载了custom ui editor for microsoft office
我将ppt alchemy的代码添加到幻灯片放映的自定义ui编辑器中。
在vba中我添加了代码:
Sub onloadcode()
Debug.Print "Running"
End Sub
Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
If SSW.View.CurrentShowPosition = SSW.Presentation.Slides("TOC").SlideIndex Then
'code here'
end if
end sub
代码现在完美执行,我已经将我的目录从9个幻灯片缩小到1.只是,在您拥有接受它们的所有内容之前,不要向代码添加功能。在我的情况下,我添加了尚不存在的文本框的代码,这使我的代码搞砸了很多。一旦我为代码制作了所有对象,然后添加了代码就完美了。