【发布时间】:2015-10-06 18:33:22
【问题描述】:
是否可以在 PowerPoint 中使用 VBA 更改鼠标悬停时的形状颜色?
我尝试使用动画+触发器创建相同的效果,但它需要单击。但是,当我将鼠标悬停在形状上时,我想更改形状颜色,并在将鼠标悬停到下一个形状时将其更改回原始颜色。这有可能实现吗?
提前致谢。
【问题讨论】:
标签: vba powerpoint
是否可以在 PowerPoint 中使用 VBA 更改鼠标悬停时的形状颜色?
我尝试使用动画+触发器创建相同的效果,但它需要单击。但是,当我将鼠标悬停在形状上时,我想更改形状颜色,并在将鼠标悬停到下一个形状时将其更改回原始颜色。这有可能实现吗?
提前致谢。
【问题讨论】:
标签: vba powerpoint
这可以通过一种破解方法来克服 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
现在,当您将鼠标移到形状上时,它的属性会发生变化,当您将其移出形状时,不可见的背景形状将触发您选择的属性的重置。
【讨论】: