VBA宏PPT插入图片
如果要往PowerPoint中插入几十甚至几百张图片,并且要求每张图片插入到每张幻灯片页面上(即有几张照片就要有几张幻灯片)你会怎么做?按照常用的方法点击“插入→图片→来自文件”菜单命令,然后一个一个选择需要的图片,或者点击“格式→背景”命令,将图片作为PowerPoint的背景导入,这样也太浪费时间了!
在这种情况下,我们可以借助PowerPoint强大的宏功能,将多步操作合并为一步,批量插入图片。
第一步:首先准备好图片,假设在C盘下面的Pictures文件夹内有60张jpg格式的图片,如“C:\Pictures\1.jpg”、“C:\Pictures\2.jpg”、“C:\Pictures\3.jpg”等,文件名是有序的数字。
第二步:启动PowerPoint 2003,按下Alt+F11键打开Visual Basic编辑器窗口,点击“插入→模块”菜单命令,在弹出的代码编辑窗口中输入以下代码: (目前代码还没调通)
Sub InsertPic() Dim i As Integer For i = 1 To ActivePresentation.Slides.Count ActivePresentation.Slides(i).Select With ActiveWindow.Selection.SlideRange .FollowMasterBackground = msoFalse .Background.Fill.UserPicture "C:Pictures" & i & ".jpg" End With Next End Sub
第三步:关闭Visual Basic编辑器窗口,上面的模块代码会自动保存。此时,连续按Ctrl+M键建立与图片数目相等(如:60)的多个空白幻灯片。按Alt+F8键打开宏对话框,选中我们上面建立的InsertPic宏,点击“运行”即可,60张图片很快就自动插入到幻灯片中了。
这个可以运行
Private Declare Function ShellExecute _ Lib "shell32.dll" _ Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) _ As Long Sub InsertPic() Dim i As Integer Dim r As Long For i = 1 To ActivePresentation.Slides.Count r = ShellExecute(0, "open", "http://www.baidu.com", 0, 0, 1) Next End Sub
另外的网页上看到的,没有代码,只有这一段,代码应该一致
小提示:在我们提供的代码中,“ .Background.Fill.UserPicture "F:\Background\" & i & ".jpg"”表示插入到幻灯片中的背景图片保存在“F:\Background”目录下,背景图片的格式为jpg,如有不同,请自行更改。