Word中用宏批量删除图片和图形【所有图片或根据尺寸筛选】

Word 2019

先调出开发工具(不会的话看这里

开发工具-宏-宏名输入“DeleteImage”。

点创建

代码输入

Sub DeleteImage()

For Each ishape In ActiveDocument.InlineShapes
ishape.Delete
Next ishape

For Each ishape In ActiveDocument.Shapes
ishape.Delete
Next ishape

End Sub

类似于这样:

其中,InlineShape和Shape的区别详见

https://docs.microsoft.com/zh-cn/office/vba/api/word.shape

https://docs.microsoft.com/zh-cn/office/vba/api/word.inlineshape

http://www.dzwebs.net/5261.html

编辑完代码,按F5或绿色小三角(播放)运行宏,可删除文档中所有图形、图片,如果一次没删干净,多运行几遍即可。


如果不想删除所有图片,可以根据图片尺寸筛选。

将Sub DeleteImage()的代码改为:

Sub DeleteImage()

myheight = 10 * 28.345
mywidth = 10 * 28.345

For Each ishape In ActiveDocument.InlineShapes
If (ishape.Height = myheight) And (ishape.Width = mywidth) Then ishape.Delete
Next ishape

For Each ishape In ActiveDocument.Shapes
If (ishape.Height = myheight) And (ishape.Width = mywidth) Then ishape.Delete
Next ishape

End Sub

其中,标红的myheight=10,mywidth=10,意思是筛选高度10厘米、宽度10厘米的图片。

注意不要修改后面的*28.345。

如果想把文档中所有高15厘米,宽8厘米的图片删掉,就:

myheight = 15 * 28.345

mywidth = 8 * 28.345

改完F5运行即可,一次删不完多来几次。