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)

Top