【发布时间】:2014-07-29 13:41:53
【问题描述】:
我有一个 PowerPoint 2013 演示文稿。在第一张幻灯片上,我有 15 张图片。鼠标单击图像会更改 VBA 宏中的变量,但看起来图像并未被用户单击,因此如果用户单击它可能会造成混淆。
我想更改他们点击的图片以显示它已被点击。我不在乎它是高光还是阴影或图像发生变化。
Sub Resize()
With ActiveWindow.Selection.ShapeRange
.Height = 2.78 * 72
.Width = 4.17 * 72
.Left = 0.78 * 72
.Top = 1.25 * 72
.ZOrder msoSendToBack
End With
End Sub
Sub DefButton1Clicked()
Element1 = 1
Resize
End Sub
这不起作用。
好的,我发现这就是我所做的:
Sub DefButton1Clicked(oSH As Shape)
Element1 = 1
MsgBox oSH.Name
oSH.Shadow.Type = msoShadow17
oSH.Shadow.ForeColor.RGB = RGB(0, 0, 128)
oSH.Shadow.OffsetX = 3
oSH.Shadow.OffsetY = 2
End Sub
单击一个按钮后,我还可以通过这样做来重置另一个按钮:
Dim oImg1 As Shape
Set oImg1 = ActivePresentation.Slides(1).Shapes.Item("Picture 7")
oImg1.Shadow.Visible = msoFalse
Dim oImg2 As Shape
Set oImg2 = ActivePresentation.Slides(1).Shapes.Item("Picture 8")
oImg2.Shadow.Visible = msoFalse
【问题讨论】:
标签: vba onclick powerpoint