我有一个excel file.i尝试使用html从excel中提取图像,但是图像被提取了两次。我想提取图像并保存具有相应名称的图像。
这是我的excel文件screenshort。
任何人都可以给我一个想法。如何使用(vba或任何方法)从excel文件中提取图像
答案 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运行它。)