** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Word
  Mensajes nuevos Mensajes nuevos RSS - Ayuda con macro para insertar fotos en tablas
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAyuda con macro para insertar fotos en tablas

 Responder Responder
Autor
Mensaje
JamesZias Ver desplegable
Nuevo
Nuevo


Unido: 21/Marzo/2019
Localización: Canarias
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Tema: Ayuda con macro para insertar fotos en tablas
    Enviado: 21/Marzo/2019 a las 08:56
Buenos días! Soy nuevo en el foro; lo encontré buscando dudas y respuestas para resolver algunos temas (y me ha ayudado mucho), pero ahora escribo para resolver una duda que no encuentro y no consigo resolver.

Estoy aprendiendo poco a poco a programar con VB en word para automatizar procesos, pero no es mi área de trabajo y me cuesta muchas veces lograr las cosas.

El caso es, que en mi día a día, tengo que elaborar una serie de informes que consisten básicamente en comentar unas fotos.

Los informes consisten en un documento de word donde creo una tabla, con dos columnas, y tantas filas como fotos tenga que meter en el informe (puede variar entre 1 y 80 por lo general).

Actualmente, las fotos las paso del teléfono al ordenador con whatsapp web para reducirles el peso. Posteriormente en Word, paso las fotos, y con una pequeña macro que hice, logré que todas las fotos se adapten a una medida en concreto.

---------------
Sub todasfotos()
'
' todasfotos Macro
'
'
Dim Var As Object
Selection.WholeStory
For Each Var In Selection.InlineShapes
    Var.Width = 226.75
    Var.Height = 283.45
Next
End Sub
----------------

El siguiente paso es el que quiero/necesito mejorar, pero no lo consigo. 

He de colocar cada foto en una celda de la segunda columna de una tabla, para dejar la celda de la izquierda de la foto libre para poder escribir un comentario.

Hasta el momento, después de redimensionar las fotos, las estoy añadiendo manualmente a la tabla. ¿Hay alguna manera de hacerlo con macro para no tener que ir una a una?

 Comentario imagen 1

 Imagen 1

 Comentario imagen 2

Imagen 2 

 Comentario imagen 3

Imagen 3 

 ....

.... 


 Mil gracias a quien pueda ayudarme. Yo no doy más de sí.
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3135
Enlace directo a este mensaje Enviado: 21/Marzo/2019 a las 10:24
Hola.
Bienvenido al foro.
Algunas dudas/preguntas.
Vista la macro, se supone que las fotos las tienes pasadas al documento word y la pregunta, ¿Han de permanecer en el documento y en la tabla o sólo en la tabla?.
Sí solo han de estar en la tabla ¿Qué procedimiento se usa para pasar las fotos desde la carpeta al word?, dependiendo de donde y como  estén, cabe la posibilidad de pasarlas directamente desde la carpeta a la tabla.
Ya comentas.
Un saludo a todos
Arriba
JamesZias Ver desplegable
Nuevo
Nuevo


Unido: 21/Marzo/2019
Localización: Canarias
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Enviado: 22/Marzo/2019 a las 10:15
Publicado originalmente por prga prga escribió:

Hola.
Bienvenido al foro.
Algunas dudas/preguntas.
Vista la macro, se supone que las fotos las tienes pasadas al documento word y la pregunta, ¿Han de permanecer en el documento y en la tabla o sólo en la tabla?.
Sí solo han de estar en la tabla ¿Qué procedimiento se usa para pasar las fotos desde la carpeta al word?, dependiendo de donde y como  estén, cabe la posibilidad de pasarlas directamente desde la carpeta a la tabla.
Ya comentas.
Un saludo a todos

Las fotos han de estar únicamente en la tabla. Hasta el momento, el procedimiento que hago es:

  1. Descargar las fotos de whatsapp web y descomprimir la carpeta.
  2. Pasar las fotos al documento de word (selecciono todo y arrastro)
  3. Ejecuto la macro que hice para reducir las dimensiones
  4. Colocar a mano las fotos (arrastrando cada foto a una celda)
En su día intenté hacer una carpeta que únicamente tuviese las fotos que quiero que aparezcan en el informe, para que, con una macro, fuese insertando cada foto en una celda, pero sólo conseguía colocar una foto, no todas. 

Las fotos de esa carpeta las cambiaría para el siguiente informe.

El procedimiento que hago puedo cambiarlo si es necesario.
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3135
Enlace directo a este mensaje Enviado: 22/Marzo/2019 a las 10:51
Hola.
Prueba con el siguiente código:

Public Sub insertatodacarpeta()
Dim micarpeta As String
Dim mnom As String
Dim mimagen As InlineShape
Dim mitabla As Table
Set mitabla = ActiveDocument.Tables(1)
micarpeta = buscafitxer()
mnom = Dir(micarpeta & "\*.jpg")

Do Until mnom = ""
  mitabla.Rows.Add
 Set mimagen = mitabla.Cell(mitabla.Rows.Count, 2).Range.InlineShapes.AddPicture(micarpeta & "\" & mnom, False, True)
 If mimagen.Width < mimagen.Height Then
   mimagen.Width = 226.75
   mimagen.Height = 283.45
  Else
   mimagen.Width = 283.45
   mimagen.Height = 226.75
 End If
 mnom = Dir()
Loop

mitabla.AutoFitBehavior wdAutoFitContent
Application.ScreenRefresh
DoEvents
MsgBox ("Fin proceso")
End Sub

Private Function buscafitxer() 
 Dim dlgOpen As Object
 Set dlgOpen = Application.FileDialog(4) 
 dlgOpen.Title = "Buscar carpeta con imagenes jpg"
 dlgOpen.Filters.Clear
 dlgOpen.AllowMultiSelect = False
 dlgOpen.InitialFileName = ActiveDocument.Path & "\"
 If dlgOpen.Show = True Then
   buscafitxer = IIf(IsNull(dlgOpen.SelectedItems(1)), "", dlgOpen.SelectedItems(1))
 Else
  buscafitxer = ""

 End If
 

End Function

Se supone que en el documento hay una sola tabla con una fila y dos columnas y este código ehay que colocarlo en, por ejemplo,  thisdocument 
Al ejecutar el procedimiento "insertartodacarpeta", se abre el "buscador" de carpetas y al seleccionarla, se supone, que pasará a la tabla todos los JPG que hay en dicha carpeta
Está comprobado con word 2016 y el código está a título de ejemplo y tiene falta de hacer diversas comprobaciones, depurar, optimizar etc etc

Comprueba sí te sirve y ya comentas.
Un saludo a todos

Arriba
JamesZias Ver desplegable
Nuevo
Nuevo


Unido: 21/Marzo/2019
Localización: Canarias
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Enviado: 22/Marzo/2019 a las 11:54
Funciona a las mil maravillas!

Al principio no me funcionaba, pero he caído que las fotos son .jpeg, y no .jpg. Ya lo he modificado y funciona perfectamente. Me queda retocar un par de cosas por dejarlo más a mi estilo, pero es perfecta.

No se me habría ocurrido nunca ese código; aún me queda por leer y aprender mucho..

Mil gracias por tu tiempo!
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable