PowerPoint VBA 点击后将群组置于最前面

PowerPoint VBA to bring group to front on click

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

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

ActiveWindow.Selection.ShapeRange(1).ZOrder msoBringToFront

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

相反,您可以给每个组一个 运行 Macro 操作设置并为其分配这个宏(它必须在同一个文件中,然后您必须将其保存作为 PPTM 或 PPSM):

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

该宏随后将对幻灯片放映期间单击的任何形状进行操作。在下面的 link 中有更多关于此的信息。上面的代码示例不适用于 Mac,但 link 有一个简单的解决方法。

确定点击了哪个形状

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