Como insertar 100 imagenes a la vez desde una carpeta en un documento de Word
En este artículo os explicamos como insertar 100 imagenes o fotografias almacenadas en una carpeta de nuestro disco duro en un documento de Word, para ello utlizaremos como siempre una macro. Comenzemos
- Primero insertaremos nuestras fotografías en una carpeta en formato [.jpg o jpeg ], en este ejemplo yo las he puesto en una carpeta llamada [test]
- Luego insertaremos el siguiente código en un modulo nuevo de visual Basic de Word para ello:
Alt + F11 para abrir el visual Basic, una vez abierto, nos vamos a menú > insertar > Modulo y en esa ventana en blanco que se nos abre que es el editor de código, pues ahí copiamos y pegamos el siguiente código:
Sub InsertarImagenesCarpeta()
Dim ImgArray(100) As Variant
Dim x As String
Dim fotos As Long
Dim i As Integer
x = Dir("C:\test\*.jpg")
Do
fotos = fotos + 1
ImgArray(fotos) = x
x = Dir
Loop Until x = ""
Selection.EndKey Unit:=wdStory
For i = 1 To fotos
Selection.InlineShapes.AddPicture _
FileName:="C:\test\" & _
ImgArray(i), LinkToFile _
:=False, SaveWithDocument:=True
With Selection
.InsertAfter vbCr & vbCr & "Escribe tu texto" _
& vbCr & vbCr
.EndOf Unit:=wdStory
End With
Next i
With Selection
.WholeStory
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.MoveDown Unit:=wdLine, Count:=1
End With
End Sub
- Una vez copiado y pegado ya podemos cerrar Visual Basic, guardar nuestro documento y ejecutar la macro con Alt+ F8 o bien menú herramientas > macro > macros, seleccionamos el nombre de nuestra macro en este caso la hemos llamado:
[InsertarImagenesCarpeta ]
Y ya veremos que se nos ha insertado todas las imágenes que teníamos en nuestra carpeta y nos pone una pequeña línea de texto para que podamos ahí escribir lo que queramos :-)
Bien para una inserción de mas de 100 imágenes será necesario retocar código de la siguiente manera [para un número inferior a 100 no es necesario] y para cambiar la ruta de nuestra carpeta también retocaremos código para ello:
EJEMPLO :
Si queremos poner 150 imágenes en lugar del 100 que hay puesto variaríamos a poner 150 :
- ImgArray(150)
Aquí pondríamos la ruta de nuestra carpeta completa:
- x = Dir("C:\Documents and Settings\Usuario\Mis documentos\Carpeta\*.jpg")
Aquí pondríamos solo la ruta de la carpeta , pero OJO >> con la barra final invertida:
- FileName:="C:\Documents and Settings\Usuario\Mis documentos\carpeta\" _ & ImgArray(i), LinkToFile _ :=False, SaveWithDocument:=True
Y eso es todo amigos, cualquier duda que tengais sobre este articulo podeis preguntar en nuestro foro, donde gustosamente os antenderemos :-)
Saludos Monica (Tux)
- Detalles
- Visto: 31720