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

OpenOffice & LibreOffice Discussion :

Une macro pour styliser les paragraphes HTML


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 366
    Points : 97
    Points
    97
    Par défaut Une macro pour styliser les paragraphes HTML
    Bonjour.

    J'utilise une macro qui balise les paragraphes avec entre <p> et </p> pour usage sur pages HTML.

    A partir de ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Nihil est enim virtute amabilius, nihil quod magis adliciat ad diligendum, quippe cum propter virtutem et probitatem etiam eos, quos numquam vidimus, quodam modo diligamus.
    In his tractibus navigerum nusquam visitur flumen sed in locis plurimis aquae suapte natura calentes emergunt ad usus aptae multiplicium medelarum.
    J'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <p>Nihil est enim virtute amabilius, nihil quod magis adliciat ad diligendum, quippe cum propter virtutem et probitatem etiam eos, quos numquam vidimus, quodam modo diligamus.</p>
    <p>In his tractibus navigerum nusquam visitur flumen sed in locis plurimis aquae suapte natura calentes emergunt ad usus aptae multiplicium medelarum.</p>
    Mais j'aimerais aller plus loin. Comme mes documents comportent plusieurs styles, je voudrais que chaque style soit "classé" en début de paragraphe. Par exemple, si le premier paragraphe est de style Standard et le second de style Message, j'aimerais obtenir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <p class="Standard">Nihil est enim virtute amabilius, nihil quod magis adliciat ad diligendum, quippe cum propter virtutem et probitatem etiam eos, quos numquam vidimus, quodam modo diligamus.</p>
    <p class="Message">In his tractibus navigerum nusquam visitur flumen sed in locis plurimis aquae suapte natura calentes emergunt ad usus aptae multiplicium medelarum.</p>
    Et etc... pour chaque style présent dans le document.

    Pour le moment, j'ai utilisé l'enregistreur de macros pour en créer une mais je pense qu'il serait plus élégant et plus rapide (pour les longs documents) d'utiliser une macro conçue à la main.

    Merci.

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Pourquoi ne pas travailler tout simplement sur le fichier content.xml ?

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 366
    Points : 97
    Points
    97
    Par défaut
    Non, trop de contraintes, surtout avec le nombre de fichiers que j'ai à traiter...

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    As-tu une mise en forme spéciale sur tes documents ? Est-elle la même sur tous les documents ?

    Il faut plus de détails... une maquette de ce que tu as et une autre de ce que tu veux...

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 366
    Points : 97
    Points
    97
    Par défaut
    Les styles sont exactement les mêmes pour tous les documents.

    Pour l'instant, je n'utilise que cette macro pour baliser les paragraphes :

    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
    Sub Paragraphs_Xhtml
     
    	Dim Document As Object
    	Dim SearchReplace As Object
    	Dim OldString(3) As String, NewString(3) As String
    	Dim i As Long
     
    		OldString() = Array(chr(160), "\n", "^.", ".$")
    		NewString() = Array(" ", "<br />", "<p>$0", "$0</p>")
     
    		Document = ThisComponent
    		SearchReplace = Document.createReplaceDescriptor
    		SearchReplace.SearchRegularExpression = true
     
    	For i = 0 To 3
    		SearchReplace.SearchString = OldString(i)
    		SearchReplace.ReplaceString = NewString(i)
    		Document.replaceAll(SearchReplace)
    	Next i
     
    End Sub
    Mais je ne sais pas intégrer un style dans le langage et encore moins paramétrer une chaîne de caractères (class="XXX")...

Discussions similaires

  1. [XL-2007] élaborer une macro pour filtrer les données erronées.
    Par GLEN444 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/03/2014, 16h01
  2. [WD-2010] Comment installer une macro pour supprimer les sauts de paragraphe
    Par lendabee dans le forum Word
    Réponses: 3
    Dernier message: 07/03/2014, 09h54
  3. Créer une macro pour éxécuter les règles
    Par belilan dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 05/01/2014, 14h45
  4. Réponses: 1
    Dernier message: 10/02/2010, 14h08
  5. Macro pour supprimer les lettres d'une cellule?
    Par LittleSun dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/01/2010, 19h56

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