导语:本文分享了PPT编辑的两个小技巧,一个是一次性删除多张ppt中相同的图片,另一个是快速复制图片和文字到多张幻灯片。两个VBA程序都是编者亲测OK,可直接按步骤操作即可。
一、一次性删除多张ppt中相同的图片
首先说明,图片不是通过PPT幻灯片母版贴上去的,而是在每张PPT页面上单独贴上去的。当PPT页面较多时,要删除多张PPT页面中的同一图片费时费力效率低下。
本文推荐一种采用宏的方法来实现。
VBA程序如下:
Sub DeleteShapesBySelection()
Dim sld As Slide
Dim shp, selectedShp As Shape
Dim slideIndex As Long
Dim count As Long
If ActiveWindow.Selection.Type = ppSelectionShapes Or ActiveWindow.Selection.Type = ppSelectionText Then
' A shape is selected or a textbox is focused (text is selected)
count = 0
slideIndex = ActiveWindow.Selection.SlideRange.slideIndex
For Each selectedShp In ActiveWindow.Selection.ShapeRange
For Each sld In ActivePresentation.Slides
If sld.slideIndex <> slideIndex Then
For Each shp In sld.Shapes
If (shp.Left = selectedShp.Left _
And shp.Top = selectedShp.Top _
And shp.Width = selectedShp.Width _
And shp.Height = selectedShp.Height _
) Then
shp.Delete
count = count + 1
End If
Next shp
End If
Next sld
selectedShp.Delete
count = count + 1
Next selectedShp
MsgBox "共删除了" & count & "个形状。"
Else
MsgBox "未发现任何选中的形状或文本框", vbExclamation, "No Shape Found"
End If
End Sub
具体操作步骤如下:
1、打开要编辑的PPT文档;
2、点击菜单条上“视图”—点击“宏”;
3、按图操作
4、复制以上VBA程序到编辑框中
5、保存
6、回到PPT页面,点击要删除的图片。(要先点击图片后再运行软件)
9、重复步骤2,点击运行即可。
二、快速复制图片和文字到多张幻灯片
方法:
1.按Alt+F11键,插入--模块,将下列代码复制在模块中:
Sub copyPict()
ActiveWindow.Selection.ShapeRange.Copy
ActivePresentation.Slides.Range(Array(2, 3, 5)).Shapes.Paste
End Sub
2. 程序注释:
代码的意思是将所选图片和文字复制到2、3、5号幻灯片中。Array后面括号中的数字是幻灯片号,可作相应的修改。 如果要复制到连续的多张幻灯片中,可使用循环:
Sub copyPict()
ActiveWindow.Selection.ShapeRange.Copy
For i = 2 To 5 '复制到2~5号幻灯片中
ActivePresentation.Slides.Range.Item(i).Shapes.Paste
Next
End Sub
3.运行代码
首先将宏安全级别设为低。
先选择要复制的图片和文字,按Alt+F8键,运行copyPict。
《机械工程文萃》,工程师的加油站!