Cómo insertar una imagen en una tabla de Excel y mostrar automáticamente el nombre de la imagen debajo de la imagen
Usa código de macro para implementar
Sub en la ilustración de la columna actual () 'En una columna, comienza desde la celda actualmente seleccionada y avanza hacia abajo en secuencia
Lj = InputBox("Ingrese la ruta de la carpeta donde se encuentra el archivo de imagen en formato JPG:", , ThisWorkbook.Path) 'Obtenga la ruta, la ruta predeterminada es la ruta de la carpeta actual
Cc = InputBox ("Establezca la longitud de la imagen, Unidades en centímetros: ", , 7.41)
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting .FileSystemObject")
Setf = fs.GetFolder(Lj)
Set fc = f.Files
x = Selection.Cells(1).Row
y = Selección.Celdas (1).Columna
A = x
B = y
Celdas.Selección
Selection.VerticalAlignment = xlCenter
Para cada f1 en fc
Si Format(Right(f1.Name, 3), "gt;") = "JPG" Entonces
Celdas(x, y ).Seleccione
ActiveSheet.Pictures.Insert(Lj amp; "\" amp; f1.Name).Seleccione 'Insertar imágenes
Para cada IShape en Selection.ShapeRange
Llame a Adjust_Picture(IShape, Cc) 'Ajusta el tamaño de la imagen y ajusta las celdas en consecuencia
Siguiente IShape
Cells(x 1, y).Select
Cells(x 1, y).Value =Left(f1.Name, Len(f1.Name) - 4) 'Completa el nombre del archivo
Con Selección
.HorizontalAlignment = xlGeneral
.VerticalAlignment =xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkT
oFit = False
.MergeCells = False
Terminar con
x = x 2
Terminar si
Siguiente
Celdas(a, B).Seleccione
End Sub
Sub Ajustar_Imagen(IShape As Shape, Cc As Single) 'Ajustar el tamaño de la imagen, ajustar en consecuencia Cell
IShape.LockAspectRatio = msoTrue 'Bloquear relación de aspecto
IShape.Placement = xlMove 'El tamaño de la imagen no cambia con el tamaño de la celda
Range( IShape.TopLeftCell.Address).Seleccione 'Seleccione la celda en la esquina superior izquierda de la imagen
Si IShape.Width gt; IShape.Height Luego 'Imagen horizontal
IShape.Width. = 28.3437 * Cc 'Establecer tamaño de imagen - ancho
IShape.Top = Selection.Top 2 'Establecer la posición de la imagen - margen superior
IShape.Left = Selection.Left 2 'Establecer la posición de la imagen - margen izquierdo
Else 'Imagen vertical
IShape.Height = 28.3437 * Cc * 3 / 4 'Establecer tamaño de imagen
IShape.Top = Selection.Top 2 'Establecer posición de la imagen - Margen superior
IShape.Left = Selection.Left (28.3437 * Cc - IShape.Width) / 2 2
Fin si
Selection.ColumnWidth = 4.715 * Cc 0.1 'Establecer ancho de celda
Selection.RowHeight = 28.3437 * Cc * 3 / 4 4.5 'Establecer alto de celda
End Sub