You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Excel新「嵌入单元格」功能插入图片的名称?

解决Office 365 Excel「嵌入单元格图片(Place in Cell)」的名称获取与存在判断问题

Office 365新增的「Place in Cell」嵌入单元格图片功能,和传统Picture.Insert(path)插入的悬浮式图片完全不同——这类内嵌图片不会出现在Shapes或Pictures集合里,所以你提供的两个遍历函数自然无法识别它们。

适配新功能的解决方案

针对这类内嵌图片,Excel提供了CellImages集合来管理,我们可以通过这个集合实现图片存在判断和名称获取:

1. 判断单元格是否存在内嵌图片

Public Function Is_PictureInCell_New() As Boolean
    ' 判断当前单元格是否包含Office 365内嵌图片
    Is_PictureInCell_New = ActiveCell.HasImage
End Function

2. 获取内嵌图片的名称

Public Function GetEmbeddedPictureName() As String
    ' 获取当前单元格内嵌图片的名称
    Dim img As CellImage
    GetEmbeddedPictureName = vbNullString
    
    If ActiveCell.HasImage Then
        For Each img In ActiveSheet.CellImages
            If img.Range.Address = ActiveCell.Address Then
                GetEmbeddedPictureName = img.Name
                Exit For
            End If
        Next img
    End If
End Function

关键说明

  • 新功能的内嵌图片属于CellImage对象,直接绑定在单元格上,而非悬浮在工作表层面,因此不会被Shapes或Pictures遍历到。
  • 使用Range.HasImage可以快速判断单元格是否有内嵌图片,无需遍历整个集合。
  • CellImage.Name返回图片的原始名称(若插入时保留),无原始名称时会生成类似Image_XX的标识。

内容的提问来源于stack exchange,提问作者Nostabo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 06:04:58