| |||
Respuesta: Pasar de xls a xml El problema de usar el guardar como de excel, es que el codigo posee mucha basura... me gustaria hacerlo yo mismo... he pensando en una macro pero no tengo mucha idea de como hacerlo, y por mas que busco en google no consigo nada, agradeceria cualqueir ayuda... |
| ||||
Respuesta: Pasar de xls a xml Si buscas en google como hacer macros en excel, el primer resultado que veas, es mi blog (esto es para no hacer spam, poniendo aquí un link a mi blog). Allí explico como hacer macros de una forma muy sencilla, y para no iniciados. No obstante, si no quieres trabajar mucho, el código que obtendrás, pasando de xls a xlm, será algo así:
Código:
Eso sí, creo que te vas a encontrar un poco de basurilla en el fichero xml, así que no te quedará otra opción que editar ese fichero a pelo para quitar esas cosillas que sobran.Sub Guardar_como_xml() 'Ruta donde guardaremos el fichero '(esto es un ejemplo, así que lo guardaré en la unidad F, que es mi llave USB 'dentro de una carpeta llamada Excel) ruta = "F:\Excel" 'Nombre que le vamos a poner al fichero fichero = "pepito grillo.xml" 'omitiremos los avisos de excel (que si desea sobreescribir, que si tal, que si cual...) Application.DisplayAlerts = False 'Creamos el archivo xml ActiveWorkbook.SaveAs Filename:=ruta & "\" & fichero, FileFormat:=xlXMLSpreadsheet End Sub Salu2 |
| |||
Respuesta: Pasar de xls a xml Presisamente el metodo de importacion de excel es demasiado ineficiente, mucho codigo basura queda en mi documento, pues por eso he estado pensando en lo de la macro para crearlo... y bueno logre lleagr a esta solucion y coloco la macro para que le sea algo util a otras personas, quizas el codigo pueda mejorarse... es la primera prueba
Código:
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 'Footer del Archivo Print #f, "</categoria>" 'cerramos el archivo de texto Close f End Sub |
| ||||
Respuesta: Pasar de xls a xml Ese macro que has puesto, es la mejor opción, siempre y cuando la estructura de tu hoja de excel sea esa, es decir, siempre que tengas una columna con el vencimiento, el código, el documento, la fecha, etc. Yo pensaba que querías algo más genérico, y utilizable para cualquier hoja de excel. Salu2 |
| |||
Respuesta: Pasar de xls a xml Hola este ejemplo me ha venido de maravilla, solo que el xml que me genera no reconoce nuestros "santos" caracteres, es decir, acentos, "ñ's"... ¿alguien sabe como codificarlo? se supone que con el UTF-8 valdria, pero resulta que no... gracias |