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

Autres langages Discussion :

[OOo 2.x - Basic] Supprimer caractères...


Sujet :

Autres langages

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 25
    Points : 19
    Points
    19
    Par défaut [OOo 2.x - Basic] Supprimer caractères...
    Bonjour à tous !

    Je ne sais pas si je suis au bon endroit pour poser ma question. Cependant, je ne vois pas d'autre endroit où je pourrais la poser...

    Voilà, je dois réaliser une macro sous OpenOffice.org-Writer qui a pour but de me permettre de réaliser le parsage d'un fichier HTML en un fichier XML à l'aide d'un fichier XSL.

    Actuellement, j'ai un tableau dans un fichier "*.doc". A l'aide d'OpenOffice.org, j'arrive à convertir ce tableau en HTML et le résultat est bien plus propre et mieux construit que le code récupéré à l'aide de Microsoft Word... Cependant, il reste des attributs dont la valeur n'est pas entre guillement. Or ceci rend impossible d'utiliser un processeur XSL pour réaliser le parsage dont j'ai besoin.

    Pour illustrer mon propos :
    J'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <BALISE1 attr1="a" attr2=xyz attr3=plop>
       ...
    </BALISE1>
    
    <BALISE2 attr4=ijk attr5="123"/>
    Et je voudrais avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <BALISE1>
       ...
    </BALISE1>
    
    <BALISE2/>
    Ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <BALISE1 attr1="a" attr2="xyz" attr3="plop">
       ...
    </BALISE1>
    
    <BALISE2 attr4="ijk" attr5="123"/>
    Il existerait donc deux solutions :
    1. supprimer tous les attributs (seul le nom des balises m'intéressent)
    2. rajouter les guillemets nécessaires

    Je viens de débuter en Basic de OOo et j'ai donc de nombreux soucis... Cependant, j'envisageais d'utiliser, dans les deux cas, d'éléments invoqués de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vOpenSearch=ThisComponent.createSearchDescriptor&#40;&#41;

    L'algorithme que j'avais envisagé pour la 1. est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    - Effacer tous les guillemets déjà installés 
    - TANT QUE nous n'arrivons pas à la fin du texte
       - SI je trouve "<" ALORS
           - SI je trouve ">" ALORS
                 * &#40;entre les deux &#91;i&#93;SearchDescriptor&#91;/i&#93;&#41;
                 - SI je trouve "=" ALORS remplacer par " =" "
                 - SI je trouve " " ALORS 
                       - SI je trouve "/>" ALORS remplacer par ""/>"
                       - SI je trouve ">" ALORS remplacer par "">"
                 - FIN SI
           - FIN SI
       - FIN SI
    - FIN TANT QUE
    L'algorithme pour la 2. est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    - TANT QUE nous n'arrivons pas à la fin du texte
       - SI je trouve "<" ALORS
           - SI je trouve ">" ALORS
               - SI je trouve " " ALORS supprimer jusqu'à "/" OU jusqu'à ">"
           - FIN SI
       - FIN SI
    - FIN TANT QUE
    Est-ce que vous pourriez me donner des conseils ? Quelle méthode vous parait la plus propre ? La plus simple à mettre en oeuvre ? Ou bien... si vous avez une autre suggestion...

    En fait, j'arrive actuellement à trouver les "<" et ">". Le problème vient du fait que je ne sais pas effectuer les traitements en utilisant les positions des curseurs que j'utilise (les SearchDescriptor). Si je savais faire celà, je pense que je pourrais dire : entre ces deux positions, efface tout (en s'ayant décalé auparavent...)

    J'espère que vous avez compris mon problème et que vous pourrez m'aider !

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 25
    Points : 19
    Points
    19
    Par défaut
    Le problème est que vous ne comprenez pas le problème parce que je l'ai mal expliqué ? Ou que vous ne connaissez pas le langage des macros sous OpenOffice.org ? Ou que vous ne voyez pas comment résoudre ça ?

    Si par hasard vous connaîtriez des forums où je pourrais poser ma question avec plus de chance d'avoir une réponse, je vous remercie de bien vouloir me les donner !

    En tout cas, j'espère vraiment que vous allez avoir des suggestions...

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Pour les forums, l'adresse est
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 25
    Points : 19
    Points
    19
    Par défaut
    Merci pour l'adresse du forum ! Je n'y suis pas encore allé faire un tour mais ça ne va pas tarder je pense ! Pour le moment, la macro, je la réalise sous VBA pour Word... Bon, ça me pousse à garder Office pour le moment... mais au moins je peux avancer dans mon travail !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer caractère spécial " "
    Par mel55 dans le forum VB.NET
    Réponses: 9
    Dernier message: 18/10/2007, 17h27
  2. Supprimer caractères vides
    Par Frosaf dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/06/2007, 16h02
  3. [VBA]Supprimer caractère autre que alphanumérique
    Par charliejo dans le forum VBA Access
    Réponses: 6
    Dernier message: 26/04/2007, 10h11
  4. [RegEx] Supprimer caractères invisibles au sein d'une chaîne
    Par webrider dans le forum Langage
    Réponses: 9
    Dernier message: 19/04/2007, 11h07
  5. [Borland 6] Supprimer caractère dans fichier
    Par grmi91 dans le forum C++Builder
    Réponses: 1
    Dernier message: 16/04/2007, 16h18

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