批量删除Word中插入的同一大小的图片
(2020-05-29 12:16:53)如何批量删除word中插入的图片
利用word自带的VBA,代码批量删除这些图片。
Shapes 和 inLineShapes
通过查找各种资料,发现word文档中的图片一般都存放在文档的Shapes 和 inLineShapes这两个属性中,对应的变量类型分别是Shape 和 inLineShape。
Shape 对象代表文档中的图形对象,也就是选择了文字环绕选项中的“衬于文字下方”和“浮于文字上方”的图片。这些图片的位置可以自由拖动。
Shape
InlineShape
代表文档中的嵌入式图形对象,也就是选择了文字环绕选项中的“嵌入型”、“四周型”、“紧密型”、“穿越型”和“上下型”的图片。
所谓嵌入式图形对象,是指将图像作为文字处理,在排版上以文字的方式进行排版。
inLineShape
批量删除图片
知道了图片的存储位置,就可以利用word自带的VBA编写相关代码了。找不到的请自行百度。
VBA入口
删除Shape类型的图片
Sub shanChuShape()
End Sub
删除inLineShape类型的图片
Sub shanChuInLineShape()
End Sub
以上都是简单的全部删除,除此之外还可以通过例如AlternativeText字段对需要删除的图片进行判断。AlternativeText字段的内容一般是插入的图片的全名。
Sub shanChuInLineShape()
End Sub
对于Shapes图片需特别注意!!
对于Shape类型的图片,因为VBA自身存在的bug,不能找到一个就直接删除一个,这会导致无法删除全部的图片。需要先将他们全部找出,然后在一个个删除。
Sub shanChuShape()
End Sub