VBA XML

 VBA XML

 VBA XML

Excel VBA XML

La forme complète de XML est un langage de balisage eXtensible qui ressemble beaucoup à un fichier HTML, est conçu pour stocker et transporter les données de différents programmes. Le fichier XML stocke les données qui incluent les divisions et les séparateurs. Nous pouvons créer un code VBA par lequel nous pouvons importer les données du fichier XML dans Excel. Afin d’importer les données du fichier XML dans un autre format, nous devons définir des règles indiquant le type de données et de champs pouvant être utilisés dans le fichier XML. Pour créer une macro en VBA pour le fichier XML, nous n’avons pas besoin de bloc-notes XML dans notre système. Mais si nous en avons, il nous sera facile de lire le fichier XML pour les données dont nous avons besoin.

Bien que dans Excel, nous ayons une disposition pour importer les données du fichier XML mais en utilisant VBA, nous pouvons lire, importer le fichier XML dans Excel.

Regardez nos Cours de démonstration et Vidéos

Évaluation, Hadoop, Excel, Applications Mobiles, Développement Web & bien d’autres.

Types de nœuds dans VBA XML

En XML, nous avons une variété de nœuds qui aident de manière constructive à lire et à analyser le fichier XML dans d’autres sources telles que Word ou Excel. Chaque DocumentElement fait référence à certaines des listes de nœuds ci-dessous.

  • Nœud Parent
  • Premier Enfant
  • Dernier Enfant
  • Nœuds Enfants
  • Frère suivant
  • Frère précédent

Tous les nœuds mentionnés ci-dessus confirment le type as, où seuls les nœuds enfants sont les suivants type de tableau de.

Dans cet exemple, nous verrons un code VBA très simple pour accéder au fichier XML enregistré dans n’importe quel emplacement du système individuel et les charger dans VBA. Habituellement, pour importer des fichiers XML dans Excel en utilisant VBA, nous avons MSXML2.Objet DOMDocument pour nous permettre de transvaser les données à travers la structure XML. Mais cela peut ne pas être utilisé dans cet exemple.

Pour cela, nous devons disposer d’un fichier XML dans lequel nous pouvons créer une structure de données sous forme de Schéma. Vous trouverez ci-dessous la capture d’écran du schéma de l’entreprise dans laquelle nous avons une succursale des employés avec les détails de l’employé tels que le Prénom, le Nom, le Numéro de contact, l’identifiant e-mail.

 Code XML de VBA

 Code XML de VBA

 Arborescence XML VBA

 Arborescence XML VBA

Étapes pour importer & Ajouter du XML dans Excel VBA

Voici les exemples de XML dans Excel à l’aide du code VBA.

Vous pouvez télécharger ce modèle Excel XML VBA ici – Modèle EXCEL XML VBA

Exemple #1

Étape 1: Allez d’abord dans l’onglet Insérer le menu dans VBA et ouvrez un module où nous écrirons les données transversales du code via XML comme indiqué ci-dessous.

 Module d'insertion

 Insérez le module

Étape 2: Écrivez la sous-procédure au nom de VBA XML pour la définition du code.Code

:

Sub VBA_XML()End Sub

 Exemple XML VBA 1-2

 Exemple XML VBA 1-2

Étape 3: Comme nous l’avons déjà discuté, pour le fichier XML, nous aurons besoin d’un objet. Donc, Définissez maintenant une variable en utilisant DIM comme chaîne qui sera utilisée pour stocker le nom de fichier.Code

:

Sub VBA_XML()Dim XMLFile As StringEnd Sub

 Exemple XML VBA 1-3

 Exemple XML VBA 1-3

Étape 4: Nous allons maintenant utiliser une application d’affichage des alertes qui est utilisée pour afficher le message d’alerte si le chemin choisi est incorrect.Code

:

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

 Exemple XML VBA 1-4

 Exemple XML VBA 1-4

Étape 5: Nous allons maintenant mettre le lien ou l’emplacement où nous avons conservé le fichier XML et l’affecter à la variable définie.Code

:

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

 Exemple XML VBA 1-5

 Exemple XML VBA 1-5
Remarque: Conservez le fichier XML à l’emplacement facile d’accès.

Étape 6: Comme nous en avons discuté, nous obtiendrons le premier objet avec MSXML2.Domdoucement.Code

:

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

 Exemple XML VBA 1-6

 Exemple XML VBA 1-6

Étape 7: Pour charger les données du fichier XML dans Excel, nous devons ouvrir ce fichier XML, en utilisant le nom et l’emplacement que nous avons stockés dans la variable de fichier XML et sélectionner l’option de chargement en tant qu’Importation dans la liste comme indiqué ci-dessous.Code

:

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

 Exemple XML VBA 1-7

 Exemple XML VBA 1-7

Étape 8: Enfin, utilisez à nouveau l’option de l’application pour afficher l’alerte comme VRAIE s’il y en a.Code

:

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

 Exemple XML VBA 1-8

 Exemple XML VBA 1-8

Étape 9: Maintenant, nous allons compiler le code écrit en appuyant sur la touche fonctionnelle F8 et l’exécuter, s’il n’y a aucune erreur trouvée lors de la compilation.

Nous verrons, les données stockées dans le fichier XML ne sont pas importées dans un nouveau classeur comme indiqué ci-dessous. Nous pouvons récupérer n’importe quelle longueur de données de fichier XML dans Excel en utilisant ce code VBA simple.

 Exemple XML VBA 1-8

 Exemple XML VBA 1-8

Exemple #2

Il existe un autre moyen d’importer les données d’un fichier XML en utilisant le code VBA qui est également simple. Pour cela, nous pouvons avoir un autre module de nous pouvons également effectuer les modifications dans le même module.

Étape 1: Pour cela encore une fois, nous aurions besoin d’un module et il écrirait la sous-procédure au nom de VBA XML.Code

:

Sub VBA_XML2()End Sub

 Exemple XML VBA 2-1

 Exemple XML VBA 2-1

Étape 2: Définissez une variable en tant que chaîne où nous stockerons l’emplacement du fichier et une autre variable pour le classeur comme indiqué ci-dessous.Code

:

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

 Exemple XML VBA 2-2

 Exemple XML VBA 2-2

Étape 3: Maintenant similaire à l’exemple précédent, nous allons maintenant utiliser 2 Applications, l’une de mise à jour de l’écran et l’autre pour afficher les alertes comme FAUSSES.Code

:

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

 Exemple XML VBA 2-3

 Exemple XML VBA 2-3

Étape 4: Maintenant, dans la variable XMLFile définie, nous allons assigner le chemin du fichier XML.Code

:

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

 Exemple de Variable Définie 2-4

 Exemple de Variable Définie 2-4

Étape 5: Similaire à l’exemple 1, nous allons maintenant mettre à jour le code d’ouverture du fichier XML avec le chemin défini dans la variable XMLFile et charger l’importation de données dans la liste.Code

:

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

 Exemple XML VBA 2-5

 Exemple XML VBA 2-5

Étape 6: Maintenant, encore une fois pour mettre l’application d’alerte d’affichage comme TRUE.Code

:

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

 Exemple d'Application d'Alerte d'Affichage 2-6

 Exemple d'Application d'Alerte d'Affichage 2-6

Étape 7: Une fois les données importées, nous les copierons dans un autre classeur à partir de la cellule sélectionnée A1: D1 selon le nombre d’en-têtes disponibles dans le fichier XML.Code

:

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

 Exemple de Classeur 2-7

 Exemple de Classeur 2-7

Étape 8: Fermez enfin le code en utilisant l’application de mise à jour de l’écran comme TRUE.Code

:

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

 Exemple d'application de mise à jour d'écran 2-8

 Exemple d'application de mise à jour d'écran 2-8

Étape 9: Maintenant, si nous exécutons ce code, nous verrons que les données du fichier XML seront importées dans un nouveau classeur Excel comme indiqué ci-dessous.

 Exemple XML VBA 2-9

 Exemple XML VBA 2-9

Avantages de VBA XML

  • Même si vous ne savez pas comment créer un fichier XML et y travailler, en utilisant de tels codes VBA, nous pouvons extraire les données en code VBA ou dans Excel.
  • Nous pouvons analyser une partie des données XML ou des données complètes dans la fenêtre VBA en utilisant des références de nœuds.

Choses à retenir

  • Chaque référence de nœud a sa propre valeur et sa propre signification. L’utilisation du bon type de note est très importante pour chaque condition.
  • XML vers VBA n’est pas limité au code que nous avons vu dans les exemples ci-dessus.
  • Nous pouvons extraire tout type de données en utilisant le code que nous avons vu dans les exemples discutés ci-dessus. Mais gardez le bon emplacement et le chemin facile d’accès.
  • Nous pouvons également extraire les données du fichier XML sans les ouvrir à partir de l’option Source de l’onglet développeur. Cela nous aidera à obtenir les données telles quelles dans le classeur Excel.
  • Enregistrez le fichier Excel de code écrit au format Excel activé par Macro, pour éviter de perdre le code.

Articles recommandés

Ceci est un guide du XML VBA. Nous discutons ici des étapes à suivre pour importer & Ajouter du XML dans Excel VBA et ses différents types de nœuds, ainsi que des exemples pratiques et un modèle excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés –

  1. VBA LBound
  2. VBA Récupère la valeur de la cellule
  3. VBA IsError
  4. Solveur VBA
0 Partages

Leave a Reply