Jump to content
skyline787

SELECCIONAR VARIOS ARCHIVOS A IMPORTAR

Recommended Posts

Estimado @Antoni me puedes ayudar

viendo sus publicaciones usted entrego un archivo en excel para importar archivos xml.  Extraer folio fiscal II.xlsm

para lo cual me puede ayudar con el mismo archivo modificado para que se pueda extraer de este tipo de archivos XML la siguiente información se lo agradecería mucho

<numeroAutorizacion>

<razonSocial>

<ruc>

<estab>

<ptoEmi>

<secuencial>

<fechaEmision>

<razonSocialComprador>

<identificacionComprador>

 <baseImponible>

<tarifa>

<valor>

<propina>

<importeTotal>

<total>

DOCUENTO (1).xml

Factura (1).xml

 

 

Share this post


Link to post
Share on other sites

Hola!

Siguiendo el hilo inicial de este tema... debo decir que, le agregaste complejidad innecesaria a la macro! Por que?

1. Es mas practico que el usuario lleve los XML a procesar a una carpeta en especifico. Te hubieras ahorrado el diseño del formulario y la programación de marcar, desmarcar y alternar el marcado de los XML en el listbox. Por lo menos en mi empresa donde tengo que hacer extracciones de aproximadamente 6000 XML, el tener que cargar los nombres a un listbox seria lento y nada practico. Desconozco el volumen que vayas a manejar.

2. El nombre de los campos a extraer lo tienes dentro del código, mala idea! Es mas practico tener el nombre de los campos a extraer en una hoja oculta dentro de la macro, por que con esto le das al usuario la oportunidad de quitar o agregar nombres e incluso modificarlos si con el tiempo llegan a cambiar y le daría un diseño mas profesional.

Ya es tarde para poder hacer los cambios. Si me da tiempo este fin de semana con gusto tratare de subir un ejemplo, de lo contrario no dudo que alguien mas te ayude, saludos!

Share this post


Link to post
Share on other sites

Estimado @digitalboy pues agradezco mucho tu ayuda, pero me podrias hacer un ultimo favor los archivos XML que poseo son de tipo CDATA con lo cual no puedo obtener informacion de los ejemplos que puse en el comentario anterior, como puedo obtener esa informacion con tu formato de archivo muchas gracias.

Share this post


Link to post
Share on other sites

Me temo que ya no podre ayudarte en desarrollarlo....

Pero te doy una idea. Puedes reciclar el código de selección de archivos y de escribir los campos de la macro que te di. Ahora estos ultimo XML tienen otra estructura. Lo que yo haría seria leer el contenido del XML y escribirlo en una celda A1, si dispones de Excel 2013 puedes emplear la función "=XMLFILTRO(A1,"//autorizacion/numeroAutorizacion")" con esta función extraigo el numero de autorización y hacer el resto para los demás campos.

Sugerencia... no le metas tanta complejidad, a veces mucha interfaz gráfica degrada el rendimiento. Saludos!

Share this post


Link to post
Share on other sites
Guest Cacho R

Hola! @skyline787 (y @digitalboy )

Pon los tres archivos del "zip" que adjunto en una misma carpeta.

La macro en Extrae info XML.xlsm procesará adecuadamente los dos archivos que has mostrado por lo que restaría que contrastes con más archivos para ver si tienen alguna característica que no ví en estos dos "xml" de prueba.

Nota que:

- En la segunda fila se encuentran los nombres "exactos" de los campos a extraer.

- En la primera fila se indica -expresamente- si la info se encuentra en la sección "CDATA" o no.

Comenta, por favor, si encuentras "algo raro": ¿Ok?...
Saludos, Cacho R.

Extrae info XML.zip

Share this post


Link to post
Share on other sites

Estimado @Cacho R te lo agradezco mucho, espectacular el archivo, solo una pequeña consulta si tengo 2 nombres iguales en el archivo XML para extraer que se llamen "baseImponible", "valor", "tarifa" como indico en el ejemplo, como los puedo extraer como para que los busque.

     <totalImpuesto>
          <codigo>3</codigo>
          <codigoPorcentaje>3092</codigoPorcentaje>
          <baseImponible>27.24</baseImponible>
          <tarifa>15</tarifa>
          <valor>4.09</valor>
      </totalImpuesto>
      <totalImpuesto>
          <codigo>2</codigo>
          <codigoPorcentaje>2</codigoPorcentaje>
          <baseImponible>31.33</baseImponible>
          <tarifa>12.00</tarifa>
          <valor>3.76</valor>
    </totalImpuesto>
    </totalConImpuestos>

 

y también amigo el archivo solo me deja ingresar datos hasta la fila 39 no se puede extender eso talvez.

Edited by skyline787

Share this post


Link to post
Share on other sites
Guest Cacho R
Hace 4 horas, skyline787 dijo:

si tengo 2 nombres iguales en el archivo XML

Dos cuestiones, @skyline787 . En un "zip" sube al Foro dos archivos:

a) Un "xml" que tenga la característica que aquí mencionas.

b ) Y el "xlsm" que yo te mostré pero "escribiendo a mano" el resultado que esperas obtener para "ese xml" (es que no veo con claridad el resultado que esperas obtener, ¿comprendes?)...

Saludos, Cacho R.

 

Share this post


Link to post
Share on other sites
Guest Cacho R
Hace 6 horas, digitalboy dijo:

porque, no dejas el valor tal cual viene el XML? Eliminas ceros a la izquierda y a las fechas les das formato?

En los archivos que skyline a subido vemos que las fechas están presentes con dos formatos:

- dd/mm/yyyy

- yyyy/mm/dd

Si crees que "esto" es un problema... ¡Pues... que son dos! debido a que la configuración regional de la PC que procese esto: ¡Vaya uno a saber que configuración tiene!, ¿No?...

De modo que la macro "descubre" cual es el ordenamiento del dato y luego le traspasa a VBA la responsabilidad de tratarlo adecuadamente.

Edited by Cacho R

Share this post


Link to post
Share on other sites
Hace 59 minutos , Cacho R dijo:

Si crees que "esto" es un problema... ¡Pues... que son dos! debido a que la configuración regional de la PC que procese esto: ¡Vaya uno a saber que configuración tiene!, ¿No?...

Así es esto del XML, partiendo del echo que #skyline787 solo requería la extracción, te hubieses ahorrado eso. Buen trabajo!

Share this post


Link to post
Share on other sites
Hace 1 hora, Cacho R dijo:

Dos cuestiones, @skyline787 . En un "zip" sube al Foro dos archivos:

a) Un "xml" que tenga la característica que aquí mencionas.

b ) Y el "xlsm" que yo te mostré pero "escribiendo a mano" el resultado que esperas obtener para "ese xml" (es que no veo con claridad el resultado que esperas obtener, ¿comprendes?)...

Saludos, Cacho R.

 

A mi se me hace que lo que #Skyline787 quiere es poder extraer todos los atributos que tienen el mismo nombre para un elemento y quizás puedan estar mas de una vez en el XML. Saludos!

Share this post


Link to post
Share on other sites
Guest Cacho R
Hace 3 horas, skyline787 dijo:

adicional que me ayudes con las filas para que se pueda adjuntar cualquier cantidad de archivos XML

Creí habértelo comentado antes... ¡pero no fue así!...

Esto es: no existe ninguna limitación de ningún tipo en las filas. De modo -entonces- que si algún archivo no fue procesado es porque no tiene la estructura de los dos archivos iniciales que subiste al Foro.

En tal caso deberías analizar cuales son las diferencias y describirlas claramente para poder definir su tratamiento en específico.

Edited by Cacho R

Share this post


Link to post
Share on other sites
Guest Cacho R
Hace 3 horas, skyline787 dijo:

adjunto los achivos como me indicaste para que puedas ver lo que necesito

La verdad es que no has sido claro y te explico por qué:

- "Volaste" la columna totalSinImpuestos y la reemplazaste por otra columna baseImponible.

- Pero omitiste explicar por qué dejaste una sola columna valor cuando (según tus nuevos archivos) tienes una columna de éstas asociadas a cada columna totalSinImpuestos.

- Asimismo mostraste inicialmente archivos con un solo campo totalSinImpuestos, ahora muestras archivos con dos campos totalSinImpuestos. Cabe preguntarse entonces: ¿podrías tener repetido este campo 3, 4 o "n" veces en otros archivos?...

En resumidas cuentas: me parece que no estás mostrando ejemplos representativos de lo que tienes que procesar.

 

Edited by Cacho R

Share this post


Link to post
Share on other sites

Estimado @Cacho R te comento borre el rango totalSinImpuestos por probar el manejo del archivo, no hay problema en eso, solo la consulta mia era que como se puede buscar cuando hay "baseImponible" - "tarifa" - "valor"; N numero de veces y que me sepa diferenciar uno en diferente celda.

Share this post


Link to post
Share on other sites

De antemano gracias por sus valiosos aportes me son de gran utilidad.

actualmente se me presenta una situación con la importación de los nodos de los xml aquí en México actualmente las empresas estan emitiendo 2 versiones de xml la 3.2 y la 3.3.

las macros aquí descritas solo leen los xml versión 3.2

por esta razón solicito amablemente de su gran apoyo para adaptar esta macro para poder extraer los nodos de las dos versiones

adjunto a esta solicitud la macro mencionada, y los xml version 3.2 y 3.3

 

de antemano gracias

ExtraerFolioFiscal.txt

4DFFC47C-77BA-4630-98FB-268C1DE3474D.xml

3FAC4852-E028-5A1F-F564-CB85265E99FD.xml

Share this post


Link to post
Share on other sites
Hace 12 horas, Luis Perez dijo:

De antemano gracias por sus valiosos aportes me son de gran utilidad.

actualmente se me presenta una situación con la importación de los nodos de los xml aquí en México actualmente las empresas están emitiendo 2 versiones de xml la 3.2 y la 3.3.

las macros aquí descritas solo leen los xml versión 3.2

por esta razón solicito amablemente de su gran apoyo para adaptar esta macro para poder extraer los nodos de las dos versiones

@Luis Perez me parece que debiste crear un nuevo tema y dentro de ese mismo hacer referencia a este.

También, no nos especificas cual es el problema en especifico que se te presenta cambias de posición los atributos? se llaman diferente o no existen algunos de ellos en la nueva versión?

Actualmente el código que empleas es lento va iterando por todos los campos del xml en la búsqueda de los atributos.


También podrías consultar los vídeos de Exoluciones, quien ya ha implementado y muestra en sus videos como programar herramientas para trabajar con XML.

Saludos!

Share this post


Link to post
Share on other sites

gracias por tu respuesta, en efecto la sintaxis de los nombre en la versión de los xml vesion 3.3 cambia y la macro que subi como referencia solo extrae los de las versiones 3.2

ejemplo xml version 3.2

-<cfdi:Receptor nombre

ejemplo xml version 3.3

<cfdi:Receptor Nombre

En espera de tu amable apoyo

 

saludos

 

 

Share this post


Link to post
Share on other sites
On 13/10/2017 at 8:53 AM, Luis Perez said:

gracias por tu respuesta, en efecto la sintaxis de los nombre en la versión de los xml vesion 3.3 cambia y la macro que subi como referencia solo extrae los de las versiones 3.2

ejemplo xml version 3.2

-<cfdi:Receptor nombre

ejemplo xml version 3.3

<cfdi:Receptor Nombre

En espera de tu amable apoyo

 

saludos

 

 

Buenos días Luis, 

 

Pudiste resolver eso? ya que estoy en las mismas, tengo el archivo para importar xml 3.2 pero los 3.3 me marca error.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png