将 excel 行的多个图像保存到计算机

Save multiple images from excel row to computer

我的公司正在尝试将 excel 中的 800 张图片(每张图片各占一行)导出到计算机上的一个文件夹中。我们希望每个文件名都与它从中提取的行相同(1.png、2.png 等)。

我已经检查过执行此操作的脚本,但到目前为止我只看到一个关于从 URL 中提取图像的脚本。我对 excel 并不像我希望的那样熟悉。

只要我们可以拥有每个图像的本地副本,并且可以很容易地通过我们从哪一行中提取它们来识别,那么无论采用何种方法,它都是成功的。

我们这样做是为了将它们批量 import/upload 到 AirTable。

下面的示例 Link: 这只有 1 个示例,但整个文档中有 800 多行。

https://drive.google.com/file/d/0B8klLazhe0NTMWZZS01kRkNHZ1U/view?usp=sharing

感谢您对此提供的任何帮助。 谢谢,

我不得不做同样的事情。这是我使用过的改编版。我假设你的照片是 1 号 sheet,如果不是,请根据它进行更改。您还应该将路径更改为您希望保存所有图像的位置:

Option Explicit


Public Sub ExportAllPics()
  Dim shp As Shape
  Dim path As String: path = "C:\Temp\"
  Dim cnt As Integer: cnt = 1

  Application.DisplayAlerts = False

  With Sheets(1)
    For Each shp In .Shapes
      If shp.Type = msoPicture Then
        shp.Copy
        With Charts.Add
          .Paste
          .Export Filename:=path & CStr(cnt) & ".jpg", FilterName:="jpg"
          .Delete
        End With
        cnt = cnt + 1
      End If
    Next
  End With

  Application.DisplayAlerts = True

End Sub

这与其中一条评论中提供的 link 相似,它会设置一个图表,将图像复制到其中并将图表导出为 jpeg 文件(这是我唯一的方法'我们已经成功完成这项工作 - 也许其他人会 post 一个将图像直接复制到文件的解决方案)。设置的图表是用于导出的临时图表,并立即删除。必须禁用显示警报,否则每次图表删除都会弹出一个消息框。

编辑:

以下是上述的变体。每张图片复制(暂时到A1单元格),缩放,复制到剪贴板(之后删除A1中的临时图片),从剪贴板添加到一个新的清除图表,然后导出:

Option Explicit

Public Sub ExportAllPics2()
  Dim shp As Shape
  Dim path As String: path = "C:\Temp\"
  Dim cnt As Integer: cnt = 1

  Application.DisplayAlerts = False

  With Sheets(1)
    For Each shp In .Shapes
      If shp.Type = msoPicture Then
        shp.Copy
        .Range("A1").Select
        .Paste
        With Selection
          .Height = 600
          .Width = 400
          .Copy
          .Delete
        End With
        With Charts.Add
          .ChartArea.Clear
          .Paste
          .Export Filename:=path & CStr(cnt) & ".jpg", FilterName:="jpg"
          .Delete
        End With
        cnt = cnt + 1
      End If
    Next
  End With

  Application.DisplayAlerts = True

End Sub

如果height/width作品中每张图片的比例都合适sheet,那么您应该可以通过锁定宽高比将它们缩放到合适的尺寸。不幸的是,我使用的工作簿中的图片尺寸变形,因此我将 height/width 设置为标准尺寸的原因 - 结果是大多数图片看起来都合适,但有一些例外。

Excel 解析器处理器是一个基于电子的开源项目,我开始帮助朋友下载 excel 文件列中列出的大量图像。它现在能够下载和重命名,但可能会随着时间的推移变得更好。可以在 github.

从我的仓库中结帐