原理:
- Excel文档里面的图片都是Shape对象,遍历ActiveSheet的Shapes集合;
- 将对应的Shape对象,设置到临时变量中;
- 在当前的Sheet里面添加ChartObject对象,并用前面取到的Shape的宽和高设置ChartObject对象的区域大小;
- 调用Shape对象的Copy方法,将其拷贝到剪切板;
- 激活前面创建的ChartObject对象,使用其对应的Activate方法,如果不做这步会提示错误;
- 将前面拷贝的图片,黏贴到ChartObject对象的Chart属性当中;意味着在插入的ChartObject对象里面贴了一幅图片;
- 再调用ChartObject对象的Chart属性中的Export方法,将图片导出到对应的目录,并命名。
例子代码如下:
Dim i As Long
Dim picRow As Long
Dim sku As String
Dim s As Shape
Dim c As ChartObject
For i = 1 To ActiveSheet.Shapes.Count
Set s = ActiveSheet.Shapes(i)
picRow = s.TopLeftCell.Row
sku = ActiveSheet.Cells(picRow, 12)
If sku <> "" Then
s.Copy
Set c = ActiveSheet.ChartObjects.Add(0, 0, s.Width, s.Height)
c.Activate
c.Chart.Paste
c.Chart.Export "D:\jibbitz\" & sku & ".jpg"
c.Delete
End If
Next i
这里判断图片对应行的第12列是否有值,如果有责将其作为图片的名字,导出图片。
时间: 2024-10-29 21:57:26