XML de VBA

XML DE VBA

VBA XML

Excel VBA XML

La forma completa de XML es el Lenguaje de marcado extensible que se parece mucho a un archivo HTML, está diseñado para almacenar y transportar los datos de diferentes programas. El archivo XML almacena los datos que incluyen las divisiones y separadores. Podemos crear un código VBA mediante el cual podemos importar los datos del archivo XML a Excel. Para importar los datos del archivo XML a cualquier otro formato, necesitamos establecer algunas reglas que indiquen qué tipo de datos y campos se pueden usar en el archivo XML. Para crear una macro en VBA para el archivo XML, no es obligatorio que necesitemos un bloc de notas XML en nuestro sistema. Pero si lo tenemos, será fácil para nosotros leer el archivo XML para los datos que necesitamos.

Aunque en Excel, tenemos una provisión para importar los datos del archivo XML, pero usando VBA, podemos leer, importar el archivo XML en Excel.

Vea nuestros Cursos de demostración y Videos

Valoración, Hadoop, Excel, Aplicaciones Móviles, Desarrollo Web & muchos más.

Tipos de nodos en VBA XML

En XML, tenemos una variedad de nodos que ayudan de forma constructiva a leer y analizar el archivo XML en otras fuentes, como Word o Excel. Cada elemento de documento se refiere a algunas de las listas de nodos a continuación.

  • Nodo padre
  • Primer Hijo
  • Último Hijo
  • Nodos Hijos
  • Siguiente Hermano
  • Hermano anterior

Todos los nodos mencionados anteriormente confirman el tipo as , donde solo los nodos hijos son tipo de matriz de .

En este ejemplo, veremos un código VBA muy simple para acceder al archivo XML guardado en cualquier ubicación del sistema individual y cargarlo en VBA. Por lo general, para importar archivos XML en Excel utilizando VBA, tenemos MSXML2.Objeto DOMDocument que nos permite atravesar los datos a través de la estructura XML. Pero esto no se puede usar en este ejemplo.

Para esto, debemos tener un archivo XML en el que podamos crear una estructura de datos en forma de Esquema. A continuación se muestra la captura de pantalla del esquema de la empresa, en la que tenemos la rama de empleado con los detalles del empleado, como Nombre, Apellido, Número de contacto, ID de correo electrónico.

VBA Código XML

VBA Código XML

VBA Árbol XML

VBA Árbol XML

Pasos para Importar & Agregar XML en Excel VBA

a Continuación se presentan los ejemplos de XML en Excel mediante el Código de VBA.

Puede descargar esta Plantilla XML Excel de VBA aquí: Plantilla XML Excel de VBA

Ejemplo # 1

Paso 1: Primero vaya a la pestaña de menú Insertar en VBA y abra un Módulo donde escribiremos los datos transversales de código a través de XML como se muestra a continuación.

 Módulo de inserción

Insertar módulo

Paso 2: Escriba el subproceso en el nombre del XML de VBA para la definición del código.Código

:

Sub VBA_XML()End Sub

 Ejemplo de XML de VBA 1-2

Ejemplo de XML de VBA 1-2

Paso 3: Como ya hemos comentado, para el archivo XML necesitaremos Object. Por lo tanto, Ahora defina una variable utilizando DIM como cadena que se utilizará para almacenar el nombre del archivo.Código

:

Sub VBA_XML()Dim XMLFile As StringEnd Sub

 Ejemplo de XML de VBA 1-3

Ejemplo de XML de VBA 1-3

Paso 4: Ahora usaremos una aplicación que muestra Alertas que se utiliza para mostrar el mensaje de alerta si la ruta elegida es incorrecta.Código

:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseEnd Sub

 Ejemplo de XML de VBA 1-4

Ejemplo de XML de VBA 1-4

Paso 5: Ahora pondremos el enlace o ubicación donde hemos guardado el archivo XML y lo asignaremos a la variable definida.Código

:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

 Ejemplo de XML de VBA 1-5

Ejemplo de XML de VBA 1-5
Nota: Mantenga el archivo XML en la ubicación de fácil acceso.

Paso 6: Como hemos comentado, obtendremos el primer objeto con MSXML2.DOMDoucment.Código

:

Sub VBA_XML()Dim CusDoc As ObjectDim Base As ObjectSet CusDoc = CreateObject("MSXML2.DOMDoucment")End Sub

 Ejemplo de XML de VBA 1-6

Ejemplo de XML de VBA 1-6

Paso 7: Para cargar los datos del archivo XML en Excel, debemos abrir ese archivo XML, utilizando el nombre y la ubicación que hemos almacenado en la variable de archivo XML y seleccionar la opción cargar como Importar a la Lista como se muestra a continuación.Código

:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListEnd Sub

 Ejemplo de XML de VBA 1-7

Ejemplo de XML de VBA 1-7

Medida 8: Por último, utilice de nuevo la opción de aplicación para mostrar la alerta como VERDADERA si la hay.Código

:

Sub VBA_XML()Dim XMLFile As StringApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Workbooks.OpenXML Filename:=XMLFile, LoadOption:=xlXmlLoadImportToListApplication.DisplayAlerts = TrueEnd Sub

 Ejemplo de XML de VBA 1-8

Ejemplo de XML de VBA 1-8

Paso 9: Ahora compilaremos el código escrito presionando la tecla funcional F8 y lo ejecutaremos, si no se encuentra ningún error durante la compilación.

Veremos que los datos almacenados en el archivo XML no se importan en un nuevo libro de trabajo como se muestra a continuación. Podemos obtener cualquier longitud de datos del archivo XML en Excel usando este simple código VBA.

 Ejemplo XML de VBA 1-8

Ejemplo de XML de VBA 1-8

Ejemplo # 2

Hay otra forma de importar los datos de un archivo XML utilizando el código VBA, que también es simple. Para esto, podemos tener otro módulo de podemos hacer los cambios en el mismo módulo también.

Paso 1: Para esto de nuevo necesitaríamos un módulo y allí escribiríamos el subproceso en el nombre de VBA XML.Código

:

Sub VBA_XML2()End Sub

 Ejemplo de XML de VBA 2-1

Ejemplo de XML de VBA 2-1

Paso 2: Defina una variable como Cadena donde almacenaremos la ubicación del archivo y otra variable para el Libro de trabajo como se muestra a continuación.Código

:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookEnd Sub

 Ejemplo de XML de VBA 2-2

Ejemplo de XML de VBA 2-2

Paso 3: Ahora, similar al ejemplo anterior, ahora usaremos 2 Aplicaciones, una de actualización de pantalla y otra para Mostrar Alertas como FALSAS.Código

:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseEnd Sub

 Ejemplo de XML de VBA 2-3

Ejemplo de XML de VBA 2-3

Paso 4: Ahora en la variable definida XMLFile, asignaremos la ruta del archivo XML.Código

:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"End Sub

 Ejemplo de Variable Definida 2-4

Ejemplo de Variable Definida 2-4

Paso 5: Similar al ejemplo-1, ahora actualizaremos el código para abrir el archivo XML con la ruta definida en la variable XMLFile y cargaremos la importación de datos a la lista.Código

:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)End Sub

 Ejemplo de XML de VBA 2-5

Ejemplo de XML de VBA 2-5

Paso 6: Ahora de nuevo para poner la aplicación de alerta de visualización como VERDADERA.Código

:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueEnd Sub

Ejemplo de Aplicación de Alerta de Visualización 2-6

Ejemplo de Aplicación de Alerta de Visualización 2-6

Paso 7: Una vez que se importen los datos, los copiaremos en otro libro de trabajo desde la celda seleccionada A1:D1 según la cantidad de encabezados disponibles en el archivo XML.Código

:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")End Sub

 Ejemplo de Libro de Trabajo 2-7

Ejemplo de Libro de Trabajo 2-7

Paso 8: Por fin cierre el código usando la aplicación de actualización de pantalla como TRUE.Código

:

Sub VBA_XML2()Dim XMLFile As StringDim WBook As WorkbookApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseXMLFile = "C:\Ashwani\Company.xml"Set WBook = Workbooks.OpenXML(Filename:=XMLFile, LoadOption:=xlXmlLoadImportToList)Application.DisplayAlerts = TrueWBook.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets(1).Range("A1:D1")Application.ScreenUpdating = TrueEnd Sub

Ejemplo de aplicación de actualización de pantalla 2-8

Ejemplo de aplicación de actualización de pantalla 2-8

Paso 9: Ahora si ejecutamos este código, veremos que los datos del archivo XML se importarán a un nuevo libro de Excel como se muestra a continuación.

 Ejemplo VBA XML 2-9

Ejemplo de XML de VBA 2-9

Pros de VBA XML

  • Incluso si no sabe cómo crear un archivo XML y trabajar en él, utilizando dichos códigos VBA, podemos extraer los datos en código VBA o en Excel.
  • Podemos analizar una porción de datos XML o datos completos en la ventana de VBA utilizando referencias de nodo.

Cosas para recordar

  • Cada referencia de nodo tiene su propio valor y significado. Usar el tipo de nota correcto es muy importante para cada condición.
  • XML a VBA no se limita al código que hemos visto en los ejemplos anteriores.
  • Podemos extraer cualquier tipo de datos utilizando el código que hemos visto en los ejemplos mencionados anteriormente. Pero mantenga la ubicación adecuada y el camino que es de fácil acceso.
  • También podemos extraer los datos del archivo XML sin abrirlos desde la opción Fuente de la pestaña desarrollador. Esto nos ayudará a obtener los datos en el libro de Excel.
  • Guarde el archivo Excel de código escrito en formato Excel habilitado para Macros, para evitar perder el código.

Artículos recomendados

Esta es una guía para el XML de VBA. Aquí discutimos los pasos para importar & Agregar XML en Excel VBA y sus diferentes tipos de nodo, junto con ejemplos prácticos y una plantilla de excel descargable. También puede ir a través de nuestros otros artículos sugeridos–

  1. VBA LBound
  2. VBA Obtener Valor de la Celda
  3. VBA Eserror
  4. VBA Solver
0 Comparte

Leave a Reply