Excel - Macro pasar datos de excel a word

Asked By Amai on 17-Feb-09 06:07 AM
Buenas a todos:
A ver si me podéis ayudar con la siguiente consulta:
Tengo un índice de informes creado en excel a través del cual busco y abro
con hipervínculo los documentos guardados en una carpeta.
Ahora lo que me gustaría es, crear una macro
- Primero para abrir el formato de informe .doc vacío y luego
- Trasladar los datos (p.e. título, autor) introducidos en el índice de
Excel a los campos específicos del formato word creados para ello.
Gracias de antemano.
Saldos.




Héctor Miguel replied on 17-Feb-09 03:16 PM
hola, Amaia !


1) y... los documentos que abres con hipervinculo son... documentos de excel ?... documentos de word ?... otro tipo ???


2) el "formato de informe .doc VACIO" es alguna plantilla de word ? (o porque tiene "campos especificos... para ello" ???)
y... de donde se tomarian (desde excel) los datos (p.e. titulo, autor etc.) ???

o sea, como podriamos (re)crear un entorno de trabajo exactamente "igual al tuyo" ???
y... que, como, cuando, de donde, a donde, ... son las tareas a realizar ???

saludos,
hector.
Amai replied on 18-Feb-09 06:19 AM
Hola Hector!! Gracias por tu respuesta.
1) Los documentos que abrimos con hipervinculo son de word.
2) el "formato de informe es una plantilla pero hemos creado una macro para
abrirlo como .doc, esto ya lo hemos solucionado.
3.A) Ahora lo que queremos solucionar es que la macro coja el valor de una
celda de excel (p.e. B5) y la meta en el documento word en campo definido
como Fill-in con el nombre asunto.
3.B) Por otro lado sería interesante que coja el valor de una celda de excel
(p.e. C5) y lo meta en el documento word en archivo/propiedades/título.
Saludos.
Héctor Miguel replied on 18-Feb-09 09:56 PM
hola, Amaia !

1) (seguramente) tendras que dejar de abrir el documento (word) desde hiervinculos    -?-

2) vendria bien si expones el codigo (hasta donde lo tengas "solucionado") para tratar de evitar "cambios de direccion"
(por algun tipo distinto de macros que pudiera entorpecer lo que ya se tiene evanzado)

3) esto ya seria "el relleno" de la macro, lo que pretendo es no adivinar lo que ya te este funcionando    -???-

saludos,
hector.

p.d. (sinceramente, creo que esta parte de las -re-preguntas es importante que lo comentes)...

__ OP __

__ previos __
Amai replied on 19-Feb-09 03:34 AM
Hola Hector,

Gracias de nuevo..

La macro que tenemos hecha es básicamente para que nos copie un documento
con un nombre que le pongamos en una de las celdas del documento de forma
automática.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 13 And Target.Row > 2 And (Target.Cells.Count = 1) Then

On Error GoTo err

Set fs = CreateObject("Scripting.FileSystemObject")

nombre = Cells(Target.Row, 13)

destino = "C:\DocumentosMACRO\" & nombre

Set fw = CreateObject("word.application")

fw.Visible = True

fw.documents.Open (destino)

Set fw = Nothing

GoTo fin



err:    If Cells(Target.Row, 12).Value = "inglés" Then

origen = "C:\DocumentosMACRO\Plantillas\plantilla inglés.doc"

Else

origen = "C:\DocumentosMACRO\Plantillas\plantilla castellano.doc

End If

fs.Copyfile origen, destino, False

Set fw = CreateObject("word.application")

fw.Visible = True

fw.documents.Open (destino)

Set fw = Nothing

End If

fin:

End Sub



Ahora viene el siguiente paso que es completar algunos campos del documento
“destino” con valores de las celdas que tenemos definidas en el Excel.

Queremos hacer dos cosas diferentes que posiblemente tendrán formas
distintas de programar:

A)      Queremos rellenar un campo que tenemos definido en el documento de
Word como “Insertar / Campo / Fill-in” que ya existe en el documento de Word
que tenemos. Si por ejemplo queremos meter el valor de la celda B15 en el
campo definido como “Lugar”, qué código hay que usar para ello?

B)      Queremos rellenar los campos que están puestos en “Archivos /
Propiedades” del documento de Word. Nos interesaría poder rellenar los campos
de Titulo, Autor, Asunto, Administrador, Organización, que están todos ellos
en la pestaña “Resumen”. Cada uno de los campos estaría definido en una celda
del Excel dentro de la misma fila, es decir… titulo = C15, autor=D15,
asunto=E15, etc…



A ver si nos puedes echar un cable con esto…
Amai replied on 25-Feb-09 11:54 AM
Hola Hector!!!
Muchas gracias por tus consejos. Ya hemos conseguido hacer lo que queriamos.
Saludos,
Amaia