首页 > 代码库 > VBA导出Excel图片
VBA导出Excel图片
原理:
- 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列是否有值,如果有责将其作为图片的名字,导出图片。
VBA导出Excel图片
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。