跳到主要内容

Excel 中无法显示该图片的删除方法

同事喜欢用 WPS,而我喜欢用 Excel,经常进行文件共享,突然有一天在 Excel 中发现某些图片出现了“无法显示该图片”的红叉,见下图:

无法显示该图片
无法显示该图片

图片 Type 属性丢失

于是很自然想手工删除:

选中一张图片,按 Ctrl+A 选中所有图片,再按 Delete,居然删不掉。

试着用以下 VBA 来删除:

Sub DelShapes()
    Dim pic As Shape
    For Each pic In ActiveSheet.Shapes
        pic.Delete
    Next
End Sub

居然也没反应,于是使用以下 VBA 查看这些无法删除的对象到底是什么类型:

Sub ShowShapesType()
    Dim pic As Shape
    For Each pic In ActiveSheet.Shapes
        Debug.Print pic.Name
        Debug.Print pic.Type
    Next
End Sub

程序直接在 Debug.Print pic.Type 报错了,在本地窗口查看对象的 Type 属性,发现 Type 属性<应用程序定义或对象定义错误>,正常情况下图片的 Type 属性为:msoGraphic,现在 Type 属性丢失,如果能改变这些对象的类型应该就可以删除了,将所有无法删除的图片组合在一起,这时对象类型就变为了 msoGroup,就可以正常删除了。

删除方法

  1. 选中所有的无法显示的图片
  2. 使用以下任意方法组合图片:
    • 右键选择【组合】快捷菜单,再选择【组合】
    • 在【图片格式】选项卡,【排列】组,选择【组合】下拉菜单,再选择【组合】
  3. 再按 Delete

关于为什么图片类型会丢失,只能猜测是 WPS 和 Excel 某些不兼容导致的。

评论

您的电子邮件地址不会显示出来。*号为必填项。