Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo insertar una imagen en una tabla de Excel y mostrar automáticamente el nombre de la imagen debajo de la imagen

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