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

Generar archivos xml a partir de tabla excel

Estas en el tema de Generar archivos xml a partir de tabla excel en el foro de Ofimática en Foros del Web. Hola. Mi duda es si me puede pasar un ejemplo codigo vba para generar varios archivos xml tantos como filas tenga una tabla excel, tengo ...
  #1 (permalink)  
Antiguo 08/06/2009, 12:47
 
Fecha de Ingreso: junio-2009
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
Generar archivos xml a partir de tabla excel

Hola.
Mi duda es si me puede pasar un ejemplo codigo vba para generar varios archivos xml tantos como filas tenga una tabla excel, tengo la hola de estilo que debe seguir el fichelor xml.
Resumiendo tengo una tabla con varias filas y quiero generar tantos ficheros xml con nombres diferentes tantos como filas tenga dicha tabla.
Un saludo y me sería una ayuda enorme que me dieran un ejemplo a seguir.
Gracias por adelantado
  #2 (permalink)  
Antiguo 09/06/2009, 01:56
 
Fecha de Ingreso: junio-2009
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Generar archivos xml a partir de tabla excel

Nadie puede ayudarme???
  #3 (permalink)  
Antiguo 10/06/2009, 04:46
 
Fecha de Ingreso: junio-2009
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Generar archivos xml a partir de tabla excel

Se como generar un xml a partir de una tabla pero tengo el problema al moverme en la tabla y generar con cada fila el archivo xml.

Seria adaptar el siguiente codigo
Sub toXML()
Dim strNombreArchivo, strRuta, strArchivoTexto As String
Dim f As Integer
strNombreArchivo = "mixml.xml"
strRuta = "C:\"
strArchivoTexto = strRuta & strNombreArchivo

'abrimos el archivo para escribir
f = FreeFile
Open strArchivoTexto For Output As #f

'Encabezado del Archivo
Print #f, "<?xml version='1.0' encoding='UTF-8'?>"

'escribimos al archivo
Print #f, "<categoria>"
Nombre = ActiveSheet.Name
Set X = Worksheets(Nombre)
With X
Fila = Range("A65000").End(xlUp).Row
For I = 1 To Fila
If Trim(Range("A" & I).Value) = "tema" Then
temaid = Trim(Range("H" & I).Value)
End If
If Range("D" & I).Value <> "" And Range("F" & I).Value <> "" And Trim(Range("G" & I).Value) <> "***" Then
Print #f, "<usuario>"
Print #f, "<codigo>" & Cliente_cod & "</codigo>"
Print #f, "<documento>" & Trim(.Range("E" & I).Value) & "</documento>"
Print #f, "<fecha>" & Range("M" & I).Value & "</fecha>"
Print #f, "<vencimiento>" & Range("N" & I).Value & "</vencimiento>"
Print #f, "<nick>" & Range("O" & I).Value & "</nick>"
Print #f, "</usuario>"
End If
Next I
End With

¿Alguna solucion?
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




La zona horaria es GMT -6. Ahora son las 22:17.