Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 宏来调整powerpoint演示文稿中所有文本框的大小_Vba_Textbox_Powerpoint - Fatal编程技术网

Vba 宏来调整powerpoint演示文稿中所有文本框的大小

Vba 宏来调整powerpoint演示文稿中所有文本框的大小,vba,textbox,powerpoint,Vba,Textbox,Powerpoint,我将PDF导出为powerpoint演示文稿。PDF有A4页,PowerPoint有宽的幻灯片(16:9),文本最终以每个幻灯片的中间第三左右为中心。 我需要调整所有文本框的大小以适应宽幻灯片。我在谷歌上搜索了很多次(第一天尝试学习如何使用宏),我发现了一些可以调整图片大小的东西: Sub Resize() With ActiveWindow.Selection.ShapeRange .Height = 470 .Width = 900 .Left = 30 .Top = 45 End

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


谢谢大家!

在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
如果幻灯片上有多个带有文本框的形状,则它们将堆叠在另一个形状之上