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

时间:2015-10-06 08:02:11

标签: vba powerpoint powerpoint-vba

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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

这可以通过黑客方法来克服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

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

将其指定给您的形状

接下来,这是没有鼠标移除事件的黑客攻击,在底层的幻灯片上添加一个矩形形状。将填充透明度设置为100%并将以下宏指定给它的鼠标悬停事件:

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

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