一、场景介绍
我有一个excel文件,需要通过一列的文件名称,按照规则给批量上传图片附件。
原始文件:

成功后文件:

二、实现方法
- 使用【wps】工具打开Excel文件,将其保存为启用宏的文件。

2.找到编辑宏的【VB编辑器】,打开


- 选择【模块】点击右键选择【插入】-【模块】,开始编辑vb代码(示例),完事保存。
vbscript
Sub InsertPictures()
'
' Macro1 Macro
' 宏由 wzj90 录制,时间: 2024/11/08
'
'
Dim ws As Worksheet
Dim folderPath As String
Dim fileName As String
Dim pic As Picture
Set ws = ActiveSheet
folderPath = "D:\workspace\project\python\Demo\attr_pic\" '图片所在的文件夹路径
For i = 2 To 4
Set pic = ws.Pictures.Insert(folderPath & Range("B" & i))
With pic
.ShapeRange.LockAspectRatio = msoFalse
.Width = ws.Range("C" & i).Width
.Height = ws.Range("C" & i).Height
.Top = ws.Range("C" & i).Top
.Left = ws.Range("C" & i).Left
End With
Next i
End Sub
- 运行宏

5.结束(成功)