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

如何用VBA访问Excel 365「置于单元格内」的图片?

访问Excel 365单元格内嵌图片的VBA方案

1. 单元格内嵌图片的对象类型

这种通过「置于单元格内」功能插入的图片属于CellImage对象,是Excel 365专属的未完全公开对象,不属于传统的Shape或Picture对象。

2. 获取图片对象引用

可以直接通过目标单元格的CellImage属性获取引用,由于该属性未正式公开,需使用后期绑定方式访问:

Dim cellImg As Object
' 假设图片在Sheet1的A1单元格
Set cellImg = ThisWorkbook.Worksheets("Sheet1").Range("A1").CellImage

' 验证是否成功获取对象
If Not cellImg Is Nothing Then
    Debug.Print "已获取CellImage对象"
End If

3. 获取图片相关信息的属性

拿到CellImage对象引用后,可通过以下属性获取所需信息:

  • 原始文件名:cellImg.FileName,返回如MyPicture.png的文件名
  • 完整源路径:cellImg.SourceFullName,返回图片插入时的完整路径(若插入后源文件移动,该值保留原始路径)
  • 原生尺寸:
    • 高度:cellImg.OriginalHeight(单位:像素)
    • 宽度:cellImg.OriginalWidth(单位:像素)
  • 其他元数据:
    • 替代文本:cellImg.AltText
    • 图片类型:cellImg.ContentType(如image/png)
    • 是否为外部链接:cellImg.IsLinked(布尔值,判断图片是嵌入还是外部链接)

注意事项

  • 仅Excel 365最新版本支持该对象,旧版本无此属性
  • 由于是未公开属性,微软可能在后续版本中调整属性名称或访问逻辑,使用时需做好兼容性测试

内容的提问来源于stack exchange,提问作者OE Option Explicit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 08:28:09