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.
Étapes pour importer & Ajouter du XML dans Excel VBA
Voici les exemples de XML dans Excel à l’aide du code 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.
Étape 2: Écrivez la sous-procédure au nom de VBA XML pour la définition du code.Code
:
Sub VBA_XML()End Sub
É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
É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
É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
É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
É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
É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
É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 #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
É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
É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
É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
É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
É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
É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
É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
É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.
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 –
- VBA LBound
- VBA Récupère la valeur de la cellule
- VBA IsError
- Solveur VBA
Leave a Reply