WPS的Excel表格怎样使用宏去批量插入图片
1、首先,打开一个已经有对应图片名称列的表格,如下图
2、假设我们是要对主图列插入图片,那么接下来我们点击图片名称列;假设我们的图片命名是以货号命名的,那么我们就是要点击货号这一列,如下图
3、接着我们就是要点击开发工具栏,如下图
4、然后,去点代码,弹出如下窗口
5、对弹出窗口,点插入,点模块,然后弹出下图
6、接下来,就是在这个编辑栏,编辑批量导入图片的代码
7、完成代码,我们就可以点击运行了,如下图标识
8、然后对弹出窗口选择存储以货号命名图片的文件夹
9、接下来就是选择图片插入Excel表格的位置,我上面表格主图是在货号的右边,所以我就填4,确定,就开始执行批量导入图片了。
10、代码提示:
Sub AAA()
On Error Resume Next
Dim T As String, FD
Dim MR As Range
Set FD = Application.FileDialog(msoFileDialogFolderPicker) '允许用户选择一个文件夹
If FD.Show = -1 Then
T = FD.SelectedItems(1) '选择之后就记录这个文件夹名称
Else
Exit Sub '否则就退出程序
End If
p = InputBox("请选择图片插入位置,上,下,左,右依次用1,2,3,4代替", "请选择位置")
Set fso = CreateObject("scripting.filesystemobject")
For Each MR In Selection
If Not IsEmpty(MR) Then
pic = T & "\" & MR.Value & ".jpg"
If fso.FileExists(pic) Then
MR.Select
If (p = 1) Then '上
ML = MR.Left
MT = MR.Top - MR.Height
MW = MR.Width
MH = MR.Height
ElseIf (p = 2) Then '下
ML = MR.Left
MT = MR.Top + MR.Height
MW = MR.Width
MH = MR.Height
ElseIf (p = 3) Then '左
ML = MR.Left - MR.Width
MT = MR.Top
MW = MR.Width
MH = MR.Height
ElseIf (p = 4) Then '右
ML = MR.Left + MR.Width
MT = MR.Top
MW = MR.Width
MH = MR.Height
End If
ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
Selection.ShapeRange.Fill.UserPicture pic '当前文件所在目录下以当前单元内容为名称的.jpg图片
End If
End If
Next
End Sub