Excel - Macro entre word y excel

 
Vista:

Macro entre word y excel

Publicado por Oscar Gabriel (1 intervención) el 21/09/2008 19:13:48
Hola a todos,

Regreso a este gran foro por ayuda pues se me acaban las ideas. El problema que tengo en estos momentos es que tengo planeado generar unas cartas personalisadas a mis clientes requiriendoles cierta informacion, el gran problema es que son casi 500 cartas las que debo hacer asi que estoy pensando en generar una base de datos desde excel con cierta informacion, como:

Nombre completo de la empresa
Empresa
Nombre a quien va dirigida
Fecha de Envio
Tipo de Informacion
Personas encargadas de hacer la valuacion
Reglamentos usados (NIF D3, FAS87) etc.
etc. etc.

Ahora tambien realizar un "machote" o carta con todo lo general o comun que llevan todas las cartas, el problema es cuando llego a la parte de tipos de informacion, la cual es muy variable y es un listado de 1-7 o 1-15 cosas que le pido al cliente.

yo tenia planeado en la carta prototipo o "machote" tener esto delimitado como <NOMBREEMPRESA> <EMPRESA> <DIRECCION> y usar la funcion sustituir desde mi base de datos (la parte de excel ya esta programada para delimitar exactamente los datos de la empresa) lo que me falta es como interactuar con Word.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Macro entre word y excel

Publicado por Julian (22 intervenciones) el 21/09/2008 20:23:53
Buenas Oscar, en una oportunidad tuve el mismo problema y lo resolví agregando campos en la base de datos ejemplo:
Cliente;Nombre;Dirección;Localidad;F01;F02;F03;F04;F05;F06;F07;F08

Realicé un "UserForm" con los campos y cuando tenía que llenar los "FXX" colocaba SI/No "de corresponde o no corresponde que tome ese formulario, me explico".-
luego en la nota, al momento de imprimir tomaba la condición si el F01="si", me lo incluida; F02="si", etc, etc, etc.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Macro entre word y excel

Publicado por JuanC (1237 intervenciones) el 21/09/2008 20:29:48
No me queda muy claro qué y cómo lo querés hacer
Creo que Combinar correspondencia te puede servir, fijate...
Te dejo un código como para que te orientes en el uso de Word desde Excel
(nunca está de más programar alguna macro en Word para conocer sus Objetos, propiedades, métodos y eventos...)

Dim wDoc As Object
Dim wApp As Object

Set wApp = GetWord
Set wDoc = wApp.Documents.Open("archivo.doc")
....

Private Function GetWord() As Object
On Error GoTo Create
Set GetWord = GetObject(, "Word.Application")
Exit Function
Create:
Set GetWord = CreateObject("Word.Application")
End Function

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Oscar Gabriel (3 intervenciones) el 22/09/2008 02:46:48
muchas gracias a Julian y Juan C por responder tan prontamente, lo unico que no mequedo muy claro es como puedo manipular Word desde excel...

Ya tengo mi userform, ya tengo mis variables definidas, el formato de la carta. lo unico que me falta es como mandar estas variables hacia word, para simplemente usar la funcion sustiruir para que me adecuen la carta.

NOTA APARTE: Tenia la idead de realizar la carta en Excel, pero como la mando de Excel a Word sin que sea una tabla o se pierdan los fromatos? (es necesario que la carta final quede en Word.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Inés (75 intervenciones) el 23/09/2008 16:05:18
Hola Oscar:
Yo plantearía exactamente al revés el tema.
Si lo principal es la carta que se escribe en word, pues usaría la opción de combinar correspondencia de word, donde escribes la carta-documento de origen y en el archivo de excel tienes los datos personalizados para cada receptor. Lo que va o se omite en cada una es una opción que te permite combinar correspondencia.
Otro paso sería después el cargar las repuestas a tu BD en excel.
Espero te sea útil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Oscar Gabriel (3 intervenciones) el 23/09/2008 23:10:32
Muchas gracias por tu respuesta Ines, el problema es que la carta cambia mucho y es muy extensa para que combinar correspondencia me funcione, ya encontre la forma de trabajarlo desde excel a word, si alguien necesita ayuda en esto porfavor hagamelo saber, con gusto los ayudaré.

Saludos.
Oscar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Omar (1 intervención) el 09/06/2009 04:29:49
hola oscar quisiera saber como puedo extraer datos a un documento word, buscandolos en un archivo de excel, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Fabian Guillén (1 intervención) el 28/01/2012 07:46:46
Oscar, quisiera saber como resolviste el problema y si pudieras mandarme algún código al respecto. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Jazmin (1 intervención) el 18/10/2012 20:03:17
Hola Oscar,

Yo estoy intentando hacer lo mismo con un memorando pero varía la cantidad de información de un memo a otro, será que me puedes ayudar con esto.

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Richard (1 intervención) el 23/10/2012 18:43:20
Yo estoy intentando hacer una carta pero varía la cantidad de información de la carta como nombre ciudad , será que me puedes ayudar con esto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Orlando (1 intervención) el 22/01/2013 15:01:52
Adjunto una macro que encontre... si la ejecuto desde vba funciona ya que te pide escoger el libro de excel a combinar con word pero si la ejecuto directo me genera error... ojalá puedas generarla de forma automática

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Sub GENERA_CARTA1()
      Dim word As Object
      Set word = CreateObject("word.basic") 'creates the word object
         With word
            .AppShow ' Makes Word Visible
            'Sends keystrokes to the Open Worksheet dialog box
            SendKeys "{TAB}{TAB}{TAB}{ENTER}"
            'Opens the Microsoft Excel file
            .FileOpen Name:="C:\Documents and Settings\usuario\Listado de cartas.xls"
            'Saves the file as a Microsoft Word document
            .FileSaveAs Name:="C:\Documents and Settings\usuario\Listado de cartas.doc", Format:=0
            .FileClose 'Closes the file
            .FileNewDefault ' Opens up blank Word document
            'Makes the active window a main document
            .MailMergeMainDocumentType 0
            'Open the data source
            .MailMergeOpenDataSource Name:="C:\Documents and Settings\usuario\Listado de cartas.doc", _
            LinkToSource:=0
            'Activates the mail merge main document
            .MailMergeEditMainDocument
   'The following Insert commands place text into the Word
   'document. You could change these commands to place any text in
   'the document. This example uses a typical business letter
   'format.
            .InsertPara
            .InsertPara
            .Insert "País, "
            .InsertDateTime "dd' de 'MMMM' de 'yyyy", _
             InsertAsField:=True
            .InsertPara
            .InsertPara
            .InsertPara
            .Insert "Sres."    'Inserts a string
            .InsertPara                     'Inserts a carriage return
            .InsertMergeField MergeField:="AGENTE"
            .InsertPara
            .InsertPara 'DEBE IR LA DIRECCION DEL CORREDOR QUE AUN NO ESTA.
      'the mergefields are the same as the column headings in the Excel
      'workbook
           .Insert "REF: Aviso de xxxxxx"
           .InsertPara
           .Insert "         "
           .Insert "comentarios"
           .Insert " "
           .InsertMergeField MergeField:="POLIZA"
           ' AQUI ESTA PENDIENTE PONER LA SUCURSAL
           .InsertPara
           .Insert "         "
           .Insert "Vigencia:"
           .Insert " "
           .InsertMergeField MergeField:="DESDE"
           .Insert " "
           .Insert "al"
           .Insert " "
           .InsertMergeField MergeField:="HASTA"
           .InsertPara
           .InsertPara
           .Insert "Estimado xxxxxx:"
           .InsertPara
           .InsertPara
           .Insert "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx."
           .InsertPara
           .InsertPara
           .Insert "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
           .InsertMergeField MergeField:="xxxxxxxxxxxxxxxxxxxxxxxx"
           .Insert " "
           .Insert "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx."
           .InsertPara
           .InsertPara
           .Insert "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx."."
           .InsertPara
           .InsertPara
           .Insert "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx."."
           .InsertPara
           .InsertPara
           .Insert "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx."."
           .InsertPara
           .InsertPara
           .Insert "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx." "
           .InsertPara
           .InsertPara
           .Insert "Atentamente."
           .InsertPara
           .InsertPara
           .InsertPara
           .Insert "_______________________"
           .InsertPara
           .Insert "Sr.Fulano"
           .InsertPara
           .Insert "Oficial Depto. XXX"
           .MailMergeToDoc 'Merges data records with the main document
           ' Saves the active document with the specified name
      .FileSaveAs Name:="C:\Documents and Settings\usuario\Cartas.doc"
      End With
   Set word = Nothing 'clears the object variable
   End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro entre word y excel

Publicado por Manuel Vizcarra (2 intervenciones) el 01/03/2013 21:52:23
Tengo una solución mucho mejor para enviar contenido de excel a word mediante macros http://www.combito.com/?p=523
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar