12/07/2009, 12:55
|
| | Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 11 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. |