PPT如何快速批量插入图片

2023-05-10 14:56:27

如何快速往PPT中插入100张图片,甚至更多的图片吗?既然是批量处理肯定不能依靠手工啦!利用宏编程可以快速实现!实现目标:将100张图片分别放到100页幻灯片里。首先准备好需要使用的

如何快速往PPT中插入100张图片,甚至更多的图片吗?既然是批量处理肯定不能依靠手工啦!利用宏编程可以快速实现!

实现目标:将100张图片分别放到100页幻灯片里。

首先准备好需要使用的图片,将其保存在同一个文件夹中,文件名是有序的数字:1.jpg,2.jpg……,100.jpg

接着,将当前PPT文件和图片们也保存在同一个文件夹中。

然后,在PPT里点击菜单“工具→宏→宏”,打开“宏”窗口,给将要编写的程序取个名。

之后鼠标点击“创建”按钮,即进入Visual Basic编辑器界面,编写代码。

Sub photos()
Dim i As Integer
For i = 2 To 100
    ActiveWindow.View.GotoSlide Index:=ActivePresentation.Slides.Add(Index:=i, Layout:=ppLayoutBlank).SlideIndex
    ActivePresentation.Slides(i).Select
    With ActiveWindow.Selection.SlideRange
        .FollowMasterBackground = msoFalse
        .Background.Fill.UserPicture i & ".jpg"
    End With
Next
End Sub

解释一下上面的代码:

◆ 因为新建的PPT已经有一页幻灯片了,所以循环语句从2开始,到100。

◆ 最长的那行代码的作用是插入一页幻灯片,ppLayoutBlank 表示插入的幻灯片是空白型的。

◆ Background所在的那行代码,是将图片作为幻灯片的背景图。

上面的程序,新插入了99页幻灯片,然后为每一页幻灯片设置了背景图片,并不是真的将图片插入到幻灯片了。还有,第一张幻灯片并没有被操作到,需要手动操作。

如果要确实是将图片插入到幻灯片,那么上面的程序修改为如下:

Sub photos()
Dim i As Integer
For i = 2 To 100
    ActiveWindow.View.GotoSlide Index:=ActivePresentation.Slides.Add(Index:=i, Layout:=ppLayoutBlank).SlideIndex
    ActivePresentation.Slides(i).Select
    With ActiveWindow.Selection.SlideRange
        ActiveWindow.Selection.SlideRange.Shapes.AddPicture(FileName:= i & ".JPG", LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=173, Top:=129, Width:=574, Height:=481).Select
    End With
Next
End Sub

注:图片尺寸最后是一样的,如果不是,那就要手动修改。

友情链接

Copyright © 2023 All Rights Reserved 版权所有 广西壮歌分享交流群