PowerPoint VBA可以使团队在点击时领先

时间:2018-11-01 16:10:19

标签: powerpoint

我是VBA的新手,所以请原谅!

我有一张包含许多要点的幻灯片。每个点都有一个相关的形状组,在单击时会出现。不幸的是,如果用户无序地单击它们,则后面的组将保持在前面的组的前面。我正在尝试创建一个VBA脚本,当单击该特定组时会将其置于最前面。目前,我有以下内容,但我不知道如何使它适应特定的形状组而不是选择。

ActiveWindow.Selection.ShapeRange(1).ZOrder msoBringToFront

1 个答案:

答案 0 :(得分:0)

假设您要在幻灯片放映期间执行此操作,则存在一个问题:由于您无法在幻灯片放映视图中选择任何内容,因此永远不会有任何ActiveWindow.Selection对象可以使用。

相反,您可以给每个组一个“运行宏”操作设置并将其分配给该宏(该宏必须位于同一文件中,然后必须将其另存为PPTM或PPSM):

Sub BringToFront(oShape As Shape)
    oShape.ZOrder msoBringToFront
End Sub

然后,该宏将在幻灯片放映期间单击的任何形状上运行。在下面的链接中有关于此的更多信息。上面的代码示例在Mac上无法运行,但是该链接针对此问题提供了一种简单的解决方法。

确定点击了哪个形状

http://www.pptfaq.com/FAQ00141_Determine_which_shape_was_clicked.htm