Foros del Web » Soporte técnico » Ofimática »

Pasar datos de Excel a Word

Estas en el tema de Pasar datos de Excel a Word en el foro de Ofimática en Foros del Web. Saludos a todos los del foro. Bueno, mi problema es el siguiente: espero explicarlo bien y darme a entender. Tengo estos datos en una hoja ...
  #1 (permalink)  
Antiguo 07/07/2009, 09:28
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Pasar datos de Excel a Word

Saludos a todos los del foro.

Bueno, mi problema es el siguiente: espero explicarlo bien y darme a entender.

Tengo estos datos en una hoja en Excel:

Concepto | Importe |
----------------------------------------------------------------------------
Venta de toner | $ 500 |
Venta de disco duro | $ 800 |

Donde por ejemplo Concepto se encuentra en la celda A1 e Importe en la celda B2.

Lo que quiero es pasar los Conceptos (venta de toner y venta de disco duro) y los Importes ($500 y $800) a una documento en Word que tengo creado.

El documento de Word lo tengo asi:

Esto documento es una lista de precios.-

Concepto Importe

1.-
2.-

Fin.

Quiero mandar los datos que estan en Excel en el lugar en donde corresponde en el archivo de Word. O sea que el documento se vea de la siguiente manera:

El documento de Word lo tengo asi:

Esto documento es una lista de precios.-

Concepto | Importe |

1.- Venta de toner | $ 500 |
2.- Venta de disco duro | $ 800 |

Fin.

He probado con combinar correspondencia pero no se si se puedan ir agregando los conceptos en la forma en la que los estoy poniendo (hacia abajo) y los importes tambien.
Si se puede hacer esto con combinar correspondencia, les agradeceria que me echaran una mano o si tienen alguna otra idea que me pueda ayudar, es bienvenida. Tal vez con una macro....... o nose.

Gracias.
  #2 (permalink)  
Antiguo 10/07/2009, 20:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Pasar datos de Excel a Word

Bueno, me decidí por utilizar marcadores (Bookmarks) y VBA para optimizar el proceso. En el archivo de Word defini 2 marcadores desde la opción Insertar --> Marcador y estoy usando el siguiente código para cambiar los marcadores por los textos que yo tengo en el archivo de Excel:

Dim wdApp As Word.Application
Dim wdDoc As Word.Document

concepto1 = Range("A2").Value
importe1 = Range("B2").Value

Set wdApp = New Word.Application

' La función FileCopy hace una copia de un archivo

FileCopy "ruta_del_archivo_origen", "ruta_del_archivo_copia"

Set wdDoc = wdApp.Documents.Open("ruta_del_archivo_copia")

' Con la siguiente linea se quita el marcador1 del archivo de Word y se pone en su lugar el contenido de la variable concepto1

wdDoc.Bookmarks.Item("marcador1").Range.Text = concepto1

' Con la siguiente linea se quita el marcador2 del archivo de Word y se pone en su lugar el contenido de la variable importe1

wdDoc.Bookmarks.Item("marcador2").Range.Text = "$" & importe1

wdApp.Visible = True

Set wdApp = Nothing
Set wdDoc = Nothing


Pero tengo otra pregunta, como puedo hacer para poner mas conceptos (del archivo de Excel) y mas importes (del archivo de Excel) abajo de los marcadores que establecí en el archivo de Word. Lo que pasa es que esos conceptos e importes que estan en el archivo de Excel pueden variar, o sea que no puedo definirlos uno por uno.

Espero haberme explicado bien.
Gracias.
  #3 (permalink)  
Antiguo 10/07/2009, 21:06
Avatar de alfcm  
Fecha de Ingreso: mayo-2009
Mensajes: 291
Antigüedad: 14 años, 10 meses
Puntos: 7
Respuesta: Pasar datos de Excel a Word

hazlo con XML es más rapido
  #4 (permalink)  
Antiguo 12/07/2009, 12:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Pasar datos de Excel a Word

Primeramente agradecer a alfcm por su respuesta. Ya que cuando uno tiene una duda sobre algo entre mas ideas te den, es mas facil salir de eso.

Bueno, agregue algunas cosas al codigo anterior (quedo casi igual) para que funcione para 5 conceptos y sus respectivos importes (precios). Ya que para trabajar con conceptos que puedan variar (ya sean 5, 6 o mas) que se definen en el archivo de Excel realmente no me quedo claro.

Dim wdApp As Word.Application
Dim wdDoc As Word.Document

concepto1 = Range("A2").Value
concepto2 = Range("A3").Value
concepto3 = Range("A4").Value
concepto4 = Range("A5").Value
concepto5 = Range("A6").Value
importe1 = "$" & Range("B2").Value
importe2 = "$" & Range("B3").Value
importe3 = "$" & Range("B4").Value
importe4 = "$" & Range("B5").Value
importe5 = "$" & Range("B6").Value

' Comprobar datos en las celdas

If Range("A2") = "" Then
MsgBox "No existen conceptos para la cotización"
Exit Sub
End If

' Si no hay un concepto asignado, su importe se pone en blanco para quitar el simbolo de pesos ($)

If Range("B2") = "" Then
importe1 = ""
End If
If Range("B3") = "" Then
importe2 = ""
End If
If Range("B4") = "" Then
importe3 = ""
End If
If Range("B5") = "" Then
importe4 = ""
End If
If Range("B6") = "" Then
importe5 = ""
End If

' Establecemos una nueva instancia del objeto Word

Set wdApp = New Word.Application

' La funcion FileCopy hace la copia de un archivo

FileCopy "ruta_archivo_origen", "ruta_archivo_copia"

' Se abre el archivo de Word (la copia)

Set wdDoc = wdApp.Documents.Open("ruta_archivo_copia")

' Se modifican los marcadores por las variables establecidas (concepto, importe)
el salto de linea es para ir poniendo los conceptos e importes hacia abajo

wdDoc.Bookmarks.Item("marcador1").Range.Text = concepto1 & vbCrLf & concepto2 & vbCrLf & concepto3 & vbCrLf & concepto4 & vbCrLf & concepto5
wdDoc.Bookmarks.Item("marcador2").Range.Text = importe1 & vbCrLf & importe2 & vbCrLf & importe3 & vbCrLf & importe4 & vbCrLf & importe5

' Mantiene abierto el documento de Word

wdApp.Visible = True

' Se destruyen los objetos

Set wdApp = Nothing
Set wdDoc = Nothing


Algo a tomar en cuenta es que en el archivo de Word en la parte donde se definen los conceptos e importes se tienen que poner como 2 columnas para poder utilizar el salto de linea entre cada concepto e importe.

Bueno espero que este codigo les ayude como a mi, o por lo menos les de una idea sobre el uso de marcadores.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:24.