ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1416|回复: 8

[求助] 如何删除word文档中特别小的图片(肉眼很难发现)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-1-9 16:45 | 显示全部楼层 |阅读模式
最近处理文档发现一个比较复杂的事,文档中网站添加了特别小的图片,有时候肉眼很难观察出来,这些图片的特别小,并且大小也不完全相同。请问如何批量删除这些无关的小图片,只删除这些小图片,其他的大图不删除。谢谢。
001.jpg 002.jpg

【学案二】第1节 透镜.rar

108.04 KB, 下载次数: 34

TA的精华主题

TA的得分主题

发表于 2020-1-9 17:44 | 显示全部楼层
把小于文字的图片删掉试试

TA的精华主题

TA的得分主题

发表于 2020-1-9 18:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
目测这些特别小的图片是网站加上的,它们的图片环绕方式均为浮于文字上方。如果有造成误删,请楼下高人回答~

=================================
Sub d()
Rem 删除环绕方式为浮于文字上方图片
    Dim arr()
    For Each oShp In ActiveDocument.Shapes
        ReDim Preserve arr(k)
        arr(k) = oShp.Name
        k = k + 1
    Next
    For j = 0 To UBound(arr)
        sName = arr(j)
        Set oShp = ActiveDocument.Shapes(sName)
        If oShp.WrapFormat.Type = wdWrapFront Then '浮于文字上方
            oShp.Delete
        End If
    Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-9 19:36 | 显示全部楼层
ming0018 发表于 2020-1-9 17:44
把小于文字的图片删掉试试

请求大咖帮帮忙,我这边还是不知道如何处理。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-1-9 19:38 | 显示全部楼层
cuanju 发表于 2020-1-9 18:33
目测这些特别小的图片是网站加上的,它们的图片环绕方式均为浮于文字上方。如果有造成误删,请楼下高人回答 ...

根据环绕方式来处理,的确是个好方法,不过可能造成别的误删,烦请老师再考虑考虑别的方法试试。

TA的精华主题

TA的得分主题

发表于 2020-1-9 20:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 leikaiyi123 于 2020-1-9 21:35 编辑

我以前也从下载的题中发现了这个问题,我是用下面代码删的,请参照:
Sub 删小嵌入式图() '删1.5*1.5的小嵌入式图
    For Each oinlineshape In ActiveDocument.InlineShapes
        If oinlineshape.Width <= 1.5 And oinlineshape.Height <= 1.5 Then
            oinlineshape.Delete
        End If
    Next
End Sub

TA的精华主题

TA的得分主题

发表于 2020-1-9 22:03 | 显示全部楼层
  1. Sub 删除微小图片()
  2. Dim p As InlineShape
  3.     For Each p In ActiveDocument.InlineShapes
  4.         If p.Width < 10 Or p.Height < 10 Then p.Delete
  5.     Next
  6. End Sub
复制代码


以上代码仅针对示例文档

TA的精华主题

TA的得分主题

发表于 2020-1-9 22:31 | 显示全部楼层
这是一种图形,如果你将其还原,你就会发现这个图形本身并不小。查找这些小于特定数字的图片,并删除,用上面的代码或改一下就可以了。

TA的精华主题

TA的得分主题

发表于 2020-1-9 23:11 | 显示全部楼层
这些图片全是inlineshape类型。代码很简单就不写了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-28 08:10 , Processed in 0.055132 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表