首页 > 解决方案 > 调整PowerPoint演示文稿中所有文本框大小的宏

问题描述

我将 PDF 导出为 PowerPoint 演示文稿。PDF 有 A4 页,而 powerpoint 有宽幻灯片 (16:9),文本最终居中在每张幻灯片的中间三分之一左右。

我需要调整所有文本框的大小以适应宽幻灯片。我一直在谷歌搜索(第一天试图学习如何使用宏),我发现了一些可以调整图片大小的东西:

Sub Resize()
With ActiveWindow.Selection.ShapeRange
 .Height = 470
 .Width = 900
 .Left = 30
 .Top = 45
End with
End Sub

如果我选择了一个文本框并运行上面的宏,它会立即调整为我想要的尺寸。问题是我必须移动到下一张幻灯片,选择文本框,然后再次运行宏。

是否有任何方法可以自动执行此操作,以便通过运行宏一次来编辑整个 powerpoint?

谢谢你!

标签: vbatextboxpowerpoint

解决方案


在 PowerPoint 中,您遍历每张幻灯片上的每个形状,在调整形状大小之前测试形状是否正确:

Sub BatchChange()
  Dim oSlide As Slide
  Dim oShape As Shape
  For Each oSlide In ActivePresentation.Slides
    For Each oShape In oSlide.Shapes
      If oShape.HasTextFrame Then
        With oShape
          .Height = 470
          .Width = 900
          .Left = 30
          .Top = 45
        End With
      End If
    Next oShape
  Next oSlide
End Sub

如果幻灯片上有多个带有文本框的形状,它们将相互堆叠。


推荐阅读