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…