我正在尝试在 PowerPoint 幻灯片中添加一些 Visual Basic。我通常使用 Excel,但很惊讶地发现 PowerPoint 没有提供记录功能。我的幻灯片上目前有六个图表,排列在一个简单的 2x3 网格中。我希望能够创建一些 VB 代码,当我单击任何特定图表时执行以下操作:
- 单击图表时,它会被带到前面,然后展开以填满整个页面。
- 当第二次单击时,它将缩小并返回到 2×3 图表网格中的位置。
在 PowerPoint 中可以实现这一点吗?我一直在寻找能够控制图表对象位置的属性信息,但无法弄清楚这些信息在哪里。
答案1
将其添加到您的演示文稿中,将其另存为 PPTM,然后依次选择每个图表;插入 | 操作 | 运行宏:ResizeMe
首先,您需要确保图表与幻灯片大小成比例(或者修改将图表设置为全屏的线条以使用不同的比例)。
您还需要确保图表形状的纵横比未设置为“锁定”。
Sub ResizeMe(oSh As Shape)
With oSh
' Is the shape full screen or normal?
If .Left = 0 Then ' it's full screen
.Left = CSng(.Tags("Left"))
.Top = CSng(.Tags("Top"))
.Height = CSng(.Tags("Height"))
.Width = CSng(.Tags("Width"))
Else ' it's small; biggify it:
' first, record it's small coordinates:
.Tags.Add "Left", CStr(.Left)
.Tags.Add "Top", CStr(.Top)
.Tags.Add "Height", CStr(.Height)
.Tags.Add "Width", CStr(.Width)
' now make it full screen
.Left = 0
.Top = 0
.Height = ActivePresentation.PageSetup.SlideHeight
.Width = ActivePresentation.PageSetup.SlideWidth
End If
End With
End Sub