【问题标题】:Macro to resize all text boxes in a powerpoint presentation调整PowerPoint演示文稿中所有文本框大小的宏
【发布时间】:2020-02-03 04:42:32
【问题描述】:

我将 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?

谢谢你!

【问题讨论】:

    标签: vba textbox powerpoint


    【解决方案1】:

    在 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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 2017-07-03
      • 2022-11-14
      相关资源
      最近更新 更多