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

如何获取Excel中通过「置于单元格」功能插入图片的原文件名?

获取Excel「置于单元格」图片的原文件名方法

方法一:VBA宏批量提取(推荐)

适合批量处理大量图片,自动将文件名写入图片所在单元格的右侧相邻单元格:

  1. 打开目标Excel文件,按下Alt + F11打开VBA编辑器
  2. 右键左侧工程窗口中的当前工作簿,选择「插入」>「模块」
  3. 将以下代码粘贴到模块窗口:
Sub GetPlacedInCellImageNames()
    Dim ws As Worksheet
    Dim shp As Shape
    Dim imgCell As Range
    
    ' 指定要处理的工作表,可改为 Sheets("你的工作表名")
    Set ws = ActiveSheet
    
    For Each shp In ws.Shapes
        ' 筛选出置于单元格的图片类型
        If shp.Type = msoPicture And Not shp.TopLeftCell Is Nothing Then
            Set imgCell = shp.TopLeftCell
            ' 提取原文件名(Excel默认将原文件名附加在Shape名称后,格式为"Picture X - 原文件名")
            Dim nameSplit() As String
            nameSplit = Split(shp.Name, " - ")
            If UBound(nameSplit) >= 1 Then
                imgCell.Offset(0, 1).Value = nameSplit(1)
            Else
                ' 若图片被重命名,显示当前Shape名称
                imgCell.Offset(0, 1).Value = shp.Name
            End If
        End If
    Next shp
End Sub
  1. 按下F5运行宏,或回到Excel界面,通过「开发工具」>「宏」选择GetPlacedInCellImageNames执行

方法二:手动提取(适合少量图片)

  1. 点击选中单元格内的图片
  2. 查看Excel窗口左上角名称框(编辑栏左侧的输入框),里面的名称格式通常为Picture X - 原文件名.扩展名
  3. 提取-后面的文件名部分,手动输入到相邻单元格

注意事项

  • 如果图片被手动重命名过,名称框中的原文件名会丢失,此时只能获取修改后的Shape名称
  • 仅适用于从本地文件插入的「置于单元格」图片,网络插入的图片无本地原文件名信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:17:50