IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Créer et analyser un document xml en mémoire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Le principe :
    1- on cible le parent des font que tu cherches, ici Style grâce à : .SelectSingleNode("/Workbook/Styles/Style")
    2- on récupère tous les noeuds enfant de ce Noeud "cible" se nommant "Font", grâce à : .SelectNodes("Font")
    3- on boucle sur la collection des noeuds Font ayant comme parent Style
    4- On récupère les attributs grâce à la collection Attributes
    5- on boucle sur les attributs et on récupère leur nom et leur valeur (grâce à getAttribute)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Option Explicit
     
    Public Sub AccessNode()
    Dim MyXml As New MSXML2.DOMDocument
    Dim Noeuds As IXMLDOMNodeList
    Dim NoeudCible As IXMLDOMNode
    Dim Noeud As IXMLDOMElement
    Dim Attributs As IXMLDOMNamedNodeMap    'Collection
    Dim A As IXMLDOMAttribute               'Pour boucler sur la collection
    Dim vOut As String
     
        With MyXml
            If Not .LoadXML(Replace(Range("a1").Value(xlRangeValueXMLSpreadsheet), "ss:Data", "Data")) Then Err.Raise .parseError.ErrorCode, , .parseError.reason
            'accès au Noeud :
                '<Workbook>
                    '<Styles>
                        '<Style>
            Set NoeudCible = .SelectSingleNode("/Workbook/Styles/Style")
            If Not NoeudCible Is Nothing Then
                Set Noeuds = NoeudCible.SelectNodes("Font")
                For Each Noeud In Noeuds
                    Set Attributs = Noeud.Attributes
                    For Each A In Attributs
                        vOut = Noeud.getAttribute(A.Name)
                        Debug.Print A.Name & "  " & vOut
                    Next
                Next
            End If
        End With
        Set NoeudCible = Nothing
        Set Attributs = Nothing
        Set Noeud = Nothing
        Set MyXml = Nothing
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Nom : je te jure sur ce que j'ai de plus cher au monde).jpg
Affichages : 371
Taille : 5,8 Ko

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    @Robert :


    @Patrick :
    Peut-être as tu recherché l'attribut "FontName" au lieu de "ss:FontName"...

    J'ai fait une contribution (encore incomplète, mais qui attends vos désidératas) à ce sujet : ==ICI==

Discussions similaires

  1. Construire un Document xml en mémoire plutôt qu'écrire dans un fichier
    Par nancy maman dans le forum Général Python
    Réponses: 3
    Dernier message: 19/04/2011, 10h59
  2. Comment créer un document XML à partir d'une chaine de caractères
    Par imad_eddine dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 19/11/2007, 18h09
  3. Afficher un document XML en mémoire dans une page HTML
    Par anthonyd dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 12/09/2007, 12h00
  4. [DOM] Créer Element dans un document XML
    Par nivose110 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 30/06/2006, 09h18
  5. [DOM] Créer un document xml
    Par the_ugly dans le forum Format d'échange (XML, JSON...)
    Réponses: 20
    Dernier message: 26/10/2005, 09h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo