有时候,我们希望在ppt中每个幻灯片中都插入一个图片,然后让图片覆盖整个幻灯片大小,相当于一个幻灯片就是一个图片。
在VBA中,可以用ppt的PageSetup对象的SlideWidth和SlideHeight属性先读取每页幻灯片的宽度和高度。
然后将图片Shape对象的宽度和高度设置为PageSetup对象的SlideWidth和SlideHeight属性值。
代码如下:
Sub QQ1722187970() Dim oPPT As PowerPoint.Presentation Dim oSlide As Slide Set oPPT = PowerPoint.ActivePresentation Dim oSP As Shape Dim oSPRange As ShapeRange Dim arr() With oPPT Debug.Print .PageSetup.SlideHeight Debug.Print .PageSetup.SlideWidth For Each oSlide In .Slides With oSlide For Each oSP In .Shapes With oSP '不锁定纵横比,这句是关键,没有这句无法调整大小 .LockAspectRatio = msoFalse .Left = 0 .Top = 0 .Width = oPPT.PageSetup.SlideWidth .Height = oPPT.PageSetup.SlideHeight End With Next End With Next End With End Sub
发表评论