码迷,mamicode.com
首页 > 编程语言 > 详细

VBA导出Excel图片

时间:2014-11-13 22:33:07      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:vba   图片   导出   



原理:

  1. Excel文档里面的图片都是Shape对象,遍历ActiveSheet的Shapes集合;
  2. 将对应的Shape对象,设置到临时变量中;
  3. 在当前的Sheet里面添加ChartObject对象,并用前面取到的Shape的宽和高设置ChartObject对象的区域大小;
  4. 调用Shape对象的Copy方法,将其拷贝到剪切板;
  5. 激活前面创建的ChartObject对象,使用其对应的Activate方法,如果不做这步会提示错误;
  6. 将前面拷贝的图片,黏贴到ChartObject对象的Chart属性当中;意味着在插入的ChartObject对象里面贴了一幅图片;
  7. 再调用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图片

标签:vba   图片   导出   

原文地址:http://blog.csdn.net/mmical/article/details/41090101

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!