在 PowerPoint 中鼠标悬停时更改形状颜色的宏

Macro to change Shape Colour on Mouse Hover in PowerPoint

是否可以在 PowerPoint 中使用 VBA 更改鼠标悬停时的形状颜色?

我尝试使用动画+触发器创建相同的效果,但它需要点击。但是,我想在将鼠标悬停在形状上时更改形状颜色,并在将鼠标悬停在下一个形状上时将其更改回原始颜色。这有可能实现吗?

提前致谢。

这可以通过 hack 方法来克服 PowerPoint 不支持鼠标移出事件的事实。你可以做的是编写一个鼠标悬停宏来改变颜色:

Option Explicit

Public myShape as Shape ' Global reference to mouse over shape

Sub MouseOver(oShp As Shape)
  Set myShape = oShp
  With oShp
    ' Change the properties you need here
  End With
End Sub

通过插入/操作/鼠标悬停/运行 宏

将其分配给您的形状

接下来,这是没有鼠标松开事件的 hack,在底层的幻灯片中添加一个矩形。将填充透明度设置为 100%,并将以下宏分配给它的鼠标悬停事件:

Sub MouseOutHack()
  With myShape
    ' Reset the properties you need here
  End With
End Sub

现在,当您将鼠标移到形状上时,它的属性会发生变化,当您将其移出形状时,不可见的背景形状会触发您选择的属性的重置。