Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Affichage des résultats 1 à 11 sur 11
  1. #1
    Salut,

    Vu que je suis unlimited niveau idée pour faire ce que me demande mon client (idée, j'ai dit) et overlimited niveau réalisation, j'ai (encore) besoin d'aide.

    Imaginons un XSLT qui commencerait de la façon suivante :
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:param name="RESOURCES_LOCATION"><xsl:text>file://c:\blablabla\</xsl:text></xsl:param>
            <xsl:template match="/">
            <html>
                <head>
                    <link rel="stylesheet" >
                        <xsl:attribute name="href">
                            <xsl:value-of select="$RESOURCES_LOCATION"/><xsl:text>style.css</xsl:text>
                        </xsl:attribute>
                    </link>
                </head>
    [...] (vous avez compris l'idée)

    Imaginons qu'en VBA Excel, je doive :
    - ouvrir le XSL en question
    - changer l'adresse dans <xslaram name="RESOURCES_LOCATION"> (je fournis l'adresse sous forme d'un string)
    - sauver et fermer le xsl

    Comment je fais ?
    (sachant qu'à la mimine ça marche)
    Mes propos n'engagent personne, même pas moi.

  2. #2
    Du XSL c'est du xml donc :

    La solution du barbare la plus rapide pour un truc comme ça c'est
    1, tu ouvre le fichier comme un fichier texte.
    2, tu parse le tout est tu remplace ce que tu veux ou, tu utilise une regex.

    Pour une version plus propre, Microsoft propose cet API : http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

    Un exemple pour les manipulations : http://www.jkp-ads.com/articles/Exce...leFormat02.asp

    We should treat all the trivial things of life seriously, and all the serious things of life with sincere and studied triviality.[Oscar wilde]

    There is no such thing as a moral or an immoral book. Books are well written, or badly written. That is all.[Oscar wilde]

    No artist is ever morbid. The artist can express everything.[Oscar wilde]

  3. #3
    La solution texte, j'ai déjà tenté encore plus barbare à base de fusion de fichiers txt en shell, et ça chie...

    Je vais essayer de comprendre tes liens. Putain, je suis vraiment pas informaticien, et encore moins développeur.
    Mes propos n'engagent personne, même pas moi.

  4. #4
    Y'a pas de regexp en VBA ?

  5. #5
    Citation Envoyé par LaVaBo Voir le message
    Y'a pas de regexp en VBA ?
    Pour ?

    Je vois pas comment les regexp vont m'ayday là.
    Mes propos n'engagent personne, même pas moi.

  6. #6
    Citation Envoyé par Neo_13 Voir le message
    Pour ?

    Je vois pas comment les regexp vont m'ayday là.
    Ca permettrait par exemple de remplacer tous les
    Code:
     
    <xsl:param name="RESOURCES_LOCATION"><xsl:text>file:*</xsl:text>
    avec * = joker
    par
    Code:
     
    <xsl:param name="RESOURCES_LOCATION"><xsl:text>file:nouveau_path_du_fichier</xsl:text>

  7. #7
    Code:
    Public Sub test_xml()
        Set twb = ThisWorkbook
        
        Dim xmlDoc As DOMDocument
        Dim Rt As IXMLDOMElement
        
        Set xmlDoc = New DOMDocument
        
        xmlDoc.async = False
        xmlDoc.Load ThisWorkbook.Path & "\test.xsl"
        
        Set Rt = xmlDoc.documentElement
        Rt.childNodes.Item(0).Text = "BITE"
    
        xmlDoc.Save ThisWorkbook.Path & "\test.xsl"
        
    End Sub
    Marche... Presque

    Il mets bien BITE au bon endroit (DTC), mais il enleve au passage les xsl:text...
    Mes propos n'engagent personne, même pas moi.

  8. #8
    Comme ça, je dirais que tu ne va pas assez profondément dans ton arbre xml.

    Schématiquement :

    Genre racine.child = valeur tu devrais faire racine.child.child = valeur dans ton cas

    Là, je suis en cours. Si j'ai le temps, j'essaie de voir ça un moment ce soir.

    We should treat all the trivial things of life seriously, and all the serious things of life with sincere and studied triviality.[Oscar wilde]

    There is no such thing as a moral or an immoral book. Books are well written, or badly written. That is all.[Oscar wilde]

    No artist is ever morbid. The artist can express everything.[Oscar wilde]

  9. #9
    J'ai fait ça hier soir et ça semble marcher:

    Que les vrais codeurs ferment les yeux, c'est mauvais pour le coeur :
    Code:
    Public Sub test_xml()
        Set twb = ThisWorkbook
        
        Dim xmlDoc As DOMDocument
        Dim Rt As IXMLDOMElement
        
        Set xmlDoc = New DOMDocument
        
        xmlDoc.async = False
        xmlDoc.Load ThisWorkbook.Path & "\test.xsl"
        
        Set Rt = xmlDoc.documentElement
      Rt.childNodes.Item(0).childNodes.Item(0).Text = "CUL"
    
        xmlDoc.Save ThisWorkbook.Path & "\test.xsl"
    End Sub
    Mes propos n'engagent personne, même pas moi.

  10. #10
    Maintenant il faut que tu fasse attention dans ton fichier final qui seras de différentes tailles avec peut-être pas toujours les mêmes champs aux mêmes endroits ?

    We should treat all the trivial things of life seriously, and all the serious things of life with sincere and studied triviality.[Oscar wilde]

    There is no such thing as a moral or an immoral book. Books are well written, or badly written. That is all.[Oscar wilde]

    No artist is ever morbid. The artist can express everything.[Oscar wilde]

  11. #11
    Si si, le champs bouge pas.
    Mes propos n'engagent personne, même pas moi.

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •