|
本帖最后由 kongbu888 于 2024-4-5 17:48 编辑
Sub 插入图片到表格()
' 定义变量
Dim folderPath As String
Dim fileName As String
Dim fileExt As String
Dim i As Long
Dim pic As InlineShape
Dim table As table
Dim rowCount As Integer
Dim colCount As Integer
Dim currentRow As Integer
Dim currentCol As Integer
Dim docPath As String
' 设置图片所在的文件夹路径
folderPath = "D:\123\"
' 确保路径以反斜杠结束
If Right(folderPath, 1) <> "\" Then
folderPath = folderPath & "\"
End If
' 创建或获取当前文档中的表格
Set table = ActiveDocument.Tables.Add(Range:=Selection.Range, NumRows:=5, NumColumns:=3)
' 设置当前行为0,列也为0
currentRow = 1
currentCol = 1
' 打开文件夹以获取文件列表
fileName = Dir(folderPath & "*.jpg")
' 遍历文件夹中的所有.jpg文件
Do While fileName <> ""
' 构建文件的完整路径
fileExt = Right(fileName, 4)
' 检查文件扩展名是否为图片格式
If fileExt = ".jpg" Or fileExt = ".png" Or fileExt = ".bmp" Then
' 在表格的指定单元格中插入图片
Set pic = table.Cell(currentRow, currentCol).Range.InlineShapes.AddPicture( _
fileName:=folderPath & fileName, LinkToFile:=False, SaveWithDocument:=True, _
Range:=table.Cell(currentRow, currentCol).Range)
End If
' 更新当前列,如果到达最后一列,则移动到下一行的第一列
currentCol = currentCol + 1
' 如果当前列更新后超过了表格的列数,移动到下一行的第一列
If currentCol > table.Columns.Count Then
currentCol = 1
currentRow = currentRow + 1
End If
' 如果当前行更新后超过了表格的行数,则退出循环
If currentRow > table.Rows.Count Then
Exit Do
End If
' 获取下一个文件名
fileName = Dir
Loop
' 清除文件名列表
fileName = ""
End Sub
这是AI生成的代码,修改了好多次,只能到这个效果,请问一下大哥们,这里在咋么修改呀,要求就是,一张A4纸插入15副图片,不改变表格大小,适当缩小图片,用EXCEL写人可以插入成功但打印出来效果不好,
|
-
想把图片批量插入到这个表格
-
用AI生成的插入是这样的,
-
要插入的图片
-
-
3x5格模版.rar
9.64 KB, 下载次数: 6
WORD模板
-
-
3.rar
195.94 KB, 下载次数: 4
插入的图片
|