|
楼主 |
发表于 2018-11-22 22:55
|
显示全部楼层
做了个实例测试,批量导出多个工作表图片,
将工作表、Shaps集合、Shap都装到数组里面去:
- Sub arrtest5()
- Application.EnableEvents = False
- On Error Resume Next
- Dim sh As Worksheet, shr, spr, PathG
- Dim i, j, k, n, m, p, q
- PathG = ThisWorkbook.Path & "\导出图库(arr)"
- If Dir(PathG, vbDirectory) = "" Then MkDir (PathG)
- n = Worksheets.Count
- ReDim shr(1 To n, 1 To 4)
- For Each sh In Worksheets
- k = k + 1
- Set shr(k, 1) = sh
- Set shr(k, 2) = sh.Shapes
- shr(k, 3) = shr(k, 2).Count
- If shr(k, 3) > 0 Then
- ReDim spr(1 To shr(k, 3), 1 To 2)
- For i = 1 To shr(k, 3)
- Set spr(i, 1) = shr(k, 2)(i)
- spr(i, 2) = spr(i, 1).TopLeftCell.Offset(0, -1).Value
- Next
- shr(k, 4) = spr
- End If
- Next
- For p = 1 To UBound(shr)
- For q = 1 To UBound(shr(p, 4))
- shr(p, 4)(q, 1).Copy '.CopyPicture
- With shr(p, 1).ChartObjects.Add(0, 0, shr(p, 4)(q, 1).Width, shr(p, 4)(q, 1).Height).Chart
- .Paste
- .Export ThisWorkbook.Path & "\导出图库(arr)" & shr(p, 4)(q, 2) & ".jpg"
- .Parent.Delete
- End With
- Next
- Next
- MsgBox "OK!"
- Application.EnableEvents = True
- End Sub
复制代码
|
|