Importar xml en un solo archivo.

pepejlmh

New Member
Joined
Mar 17, 2016
Messages
2
Buen dia, saludos, me podrian ayudar necesito una macro o codigo en VBA para Excel, que me importe varios archivos xml que estan en una carpeta en una ruta especifica, al mismo tiempo en el libro que un solo libro.

De antemano gracias por su apoyo.
 

Excel Facts

How to change case of text in Excel?
Use =UPPER() for upper case, =LOWER() for lower case, and =PROPER() for proper case. PROPER won't capitalize second c in Mccartney
Buen dia, saludos, me podrian ayudar necesito una macro o codigo en VBA para Excel, que me importe varios archivos xml que estan en una carpeta en una ruta especifica, al mismo tiempo en el libro que un solo libro.

De antemano gracias por su apoyo.

Este código te ayuda a seleccionar todos los archivos que quieras, a abrir cada uno y a hacer lo que tú necesites--por ejemplo copiar celdas de cada uno de ellos a un libro que tienes abierto. Yo he usado esto para extraer datos de facturas guardadas en XML.

**Debes modificar el código para que haga lo que tú necesites en cada archivo XML seleccionado.**

Code:
Sub Llenar_datos_de_Varios_XML()

Dim archivo As Variant
Dim Nombre_archivo As String

Dim libro1 As Workbook
Dim libro2 As Workbook

'El usuario elige los archivos XML
archivo = Application.GetOpenFilename("Archivos XML (*.xml), *.xml", MultiSelect:=True)

'Si no se selecciona ningún archivo, termina la macro
If archivo = False Then Exit Sub

Set libro1 = ActiveWorkbook

'REPITE ESTE PROCESO PARA TODOS LOS ARCHIVOS ELEGIDOS
For w = LBound(archivo) To UBound(archivo)

Nombre_archivo = archivo(w)

'ABRE EL ARCHIVO XML QUE ESTÁ EN LA POSICIÓN W
Workbooks.OpenXML filename:=Nombre_archivo, LoadOption:=xlXmlLoadImportToList

Set libro2 = ActiveWorkbook

''''''''''''''''''''
'AQUÍ PUEDES INSERTAR EL CÓDIGO QUE NECESITES PARA COPIAR
'DEL libro2 AL libro1 TODO LO QUE NECESITES

'Ejemplo:
libro2.Sheets(1).Range("A1:A10").copy libro1.Sheets(1).Range("A1")
''''''''''''''''''''

libro2.Close (false)
libro1.Activate

Next w

Set libro1 = Nothing
Set libro2 = Nothing

End Sub
 
Upvote 0

Forum statistics

Threads
1,214,614
Messages
6,120,517
Members
448,968
Latest member
Ajax40

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top