加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

批量删除Word中插入的同一大小的图片

(2020-05-29 12:16:53)
Sub 批量删除Word中同一大小的图片()
    dim Mywidth,Myheigth 
    Mywidth = 1.01 '
    Myheigth = 1.01 '
    For Each ishape In ActiveDocument.InlineShapes
        If Abs(ishape.Height - 28.345 * Myheigth) < 1 And Abs(ishape.Width - 28.345 * Mywidth) < 1 Then ishape.Delete
    Next ishape
End Sub

如何批量删除word中插入的图片

 

利用word自带的VBA,代码批量删除这些图片。


Shapes inLineShapes

通过查找各种资料,发现word文档中的图片一般都存放在文档的Shapes inLineShapes这两个属性中,对应的变量类型分别是Shape inLineShape

Shape 对象代表文档中的图形对象,也就是选择了文字环绕选项中的衬于文字下方浮于文字上方的图片。这些图片的位置可以自由拖动。

 

Shape

InlineShape 代表文档中的嵌入式图形对象,也就是选择了文字环绕选项中的嵌入型四周型紧密型穿越型上下型的图片。
所谓嵌入式图形对象,是指将图像作为文字处理,在排版上以文字的方式进行排版。

 

inLineShape


批量删除图片

知道了图片的存储位置,就可以利用word自带的VBA编写相关代码了。找不到的请自行百度。

 

VBA入口

删除Shape类型的图片

Sub shanChuShape()

    Dim myShape As Shape

    For Each myShape In ActiveDocument.Shapes

        myShape.Delete

    Next

End Sub

删除inLineShape类型的图片

Sub shanChuInLineShape()

    Dim myInlineShape As InlineShape

    For Each myInlineShape In ActiveDocument.myInlineShapes

        myInlineShape.Delete

    Next

End Sub

以上都是简单的全部删除,除此之外还可以通过例如AlternativeText字段对需要删除的图片进行判断。AlternativeText字段的内容一般是插入的图片的全名。

Sub shanChuInLineShape()

    Dim myInlineShape As InlineShape

    For Each myInlineShape In ActiveDocument.myInlineShapes

        If myInlineShape.AlternativeText = "E:\logo.png" Then 判断是不是logo图片

            myInlineShape.Delete

        End If

    Next

End Sub


对于Shapes图片需特别注意!!

对于Shape类型的图片,因为VBA自身存在的bug,不能找到一个就直接删除一个,这会导致无法删除全部的图片。需要先将他们全部找出,然后在一个个删除。

Sub shanChuShape()

    Dim myShape As Shape

    Dim arr()

    Dim k

    k = 0

    For Each myShape In ActiveDocument.Shapes  第一步:找到所有的Shape

        ReDim Preserve arr(k)

        arr(k) = myShape.Name

        k = k + 1

    Next

       For k = 0 To UBound(arr)               第二步:逐个删除

        ActiveDocument.Shapes(arr(k)).Delete  

    Next   

End Sub

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有