如何从Excel工作表中提取图像

时间:2016-02-05 11:37:45

标签: excel vba

我有一个excel file.i尝试使用html从excel中提取图像,但是图像被提取了两次。我想提取图像并保存具有相应名称的图像。
这是我的excel文件screenshort。enter image description here

任何人都可以给我一个想法。如何使用(vba或任何方法)从excel文件中提取图像

1 个答案:

答案 0 :(得分:1)

以下代码将执行此操作(在Excel 2010上测试)。

Sub extractImgs()
Dim shp As Shape
Dim tempChart As String, wsName As String
wsName = ActiveSheet.Name
For Each shp In ActiveSheet.Shapes
    If shp.Name Like "Picture*" Then
        shp.Select
        Charts.Add
        ActiveChart.Location xlLocationAsObject, wsName
        ActiveChart.ChartArea.Height = shp.Height
        ActiveChart.ChartArea.Width = shp.Width
        tempChart = Mid(ActiveChart.Name, Len(wsName) + 2, 100)
        shp.Copy
        ActiveChart.Paste
        ActiveChart.Export Filename:="C:\images\" & shp.TopLeftCell.Offset(0, 1).Value & ".jpg", FilterName:="jpg"
        ActiveSheet.Shapes(tempChart).Delete
    End If
 Next 
End Sub

如果您需要初始VBA简介:从带有图像的工作表中,右键单击工作表选项卡,然后"查看代码",然后将代码粘贴到那里。
确保创建一个名为" images"的文件夹。在C:\之前运行代码(当光标在代码中时按F5运行它。)