VBA批量导出图片并重命名

 


Private Sub 导出图片_Click()

Application.ScreenUpdating = False
On Error Resume Next
MkDir ThisWorkbook.Path & "\图片"

ActiveSheet.Shapes
For Each PIC In Shapes

If PIC.Type = msoPicture Then
RN = PIC.TopLeftCell.Offset(0, 4).Value '重命名图片,图片和编号之间的距离是4格,编号如果在图片前面则为(0,-4)

PIC.Width = 800   '先放大图片宽800px,自行调整
PIC.Height = 800  '高800px

'如需导出图片为原始大小,则

'PIC.Width = 800改为PIC.ScaleWidth 1, True

'PIC.Height = 800 改为PIC.ScaleHeight 1, True

PIC.Copy

With ActiveSheet.ChartObjects.Add(0, 0, PIC.Width, PIC.Height).Chart '创建图片
.Parent.Select
.Paste
.Export ThisWorkbook.Path & "\图片\" & RN & ".jpg"
.Parent.Delete
End With

End If
PIC.Width = 100 '导出后缩小图片宽为100PX
PIC.Height = 100 '高100PX


Next
MsgBox "导出图片完成!"
Application.ScreenUpdating = True
End Sub

 

posted @   小湖123  阅读(1152)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示