实现目标:将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
注:图片尺寸最后是一样的,如果不是,那就要手动修改。