Bonjour,
oui je comprends l'idée mais sans ... ou ___ ça va être moyen pour ecrire
sur les documents. Ca fait quelques jours que je bidouille mais j'ai finit
par arrivé à faire ce que je veux voici la macro pour que cela puisse
profiter à d'autres.

Option Explicit

     Sub traiteFichier()
    Dim oDoc as Object, searchDescriptor as Object, resultat as Variant
    Dim i as Integer, range as Object, cursor as Object, valChamp as String
       oDoc = thisComponent
       searchDescriptor = oDoc.createSearchDescriptor()
       With searchDescriptor
          .SearchString = "Texte prof"
          .searchStyles = True
       End With
       resultat = oDoc.findAll(searchDescriptor)
       If resultat.hasElements() Then
          For i = 0 To resultat.Count-1
             range = resultat(i)
             cursor = range.Text.createTextCursor()
             cursor.goToRange(range, false)
             cursor.collapsetostart()
             cursor.goRight(len(range.string), true)
             valChamp = String(len(range.string),"_")
             cursor.String = valChamp
          Next i
       EndIf
    End Sub

Je voudrai maintenant l'exploiter mais je m'aperçoie que j'ai un problème:
à partir du fichier de cours prof je veux sortir des pdf avec les parties
de textes du styleprof remplacées par des ___ mais je ne veux que le pdf de
modifié et surtout pas le fichier source...

Je voudrais arrivé à appliquer cette macro sur toute une arborescense qui
contient plusieurs milliers de fichiers de cours à traiter... le but étant
de générer les versions eleves en pdf à partir des cours prof.

Quand la macro sera complette je compte la transformer en .oxt via
l'interface GUI puis l'importer sur le serveur et l'intégrer avec un unopkg
add maMacro.oxt

Bref j'ai encore du travail mais je n'ai pas le choix je ne peux pas
traiter les fichiers un à un sans compter q'ils faut les tenir à jour...

La macro au depart doit parcourir l'arborescense pour trouver tous les
fichiers *.odt, ajouter le mot eleve au nom de chaque fichier trouver
modifier les stylesprof en ______ puis exporter au format pdf.

C'est énorme mais c'est faisable...
Pour le moment j'ai des fichiers de cours prof et des fichiers de cours
eleve, en shell je me sers de find+libo pour faire l'export en pdf. Ca
donne ça;
find /home/cemoi/Documents/bac -type f -iname "*ele*.odt" -execdir
libreoffice --headless --convert-to pdf '{}' \;

Ca marche tres bien mais nous avons des difficultés pour tenir les cours
eleves bien à jour d'ou cette histoire de macro qui fait presque tout sauf
le cafe...

Merci pour votre aide tres precieuse!


Le 7 mai 2015 13:37, pierre-yves samyn <[email protected]> a
écrit :

> Bonjour
>
>
> Cemoi Cemoi wrote
> > Au final vide ça ne va pas il me faut des ............................. à
> > la place des lettres. Je dois pouvoir remplacer le style1 par un style2
> > qui
> > me met que des ..............? Non?
>
> Un style ne pourra pas remplacer du texte par un autre (les ...). On
> peut bien sûr rechercher les paragraphes mis en forme par un style et
> remplacer leur contenu par un autre texte.
>
> Mais le plus simple me semble être de mettre la même couleur
> pour l'arrière-plan et le texte. Dans l'exemple joint j'applique un
> gris pour que la zone à remplir soit matérialisée.
>
> option explicit
>
> const sNomStyle = "Texte prof"
>
> Sub PysChangerStyle
> dim oDoc as object, oStyles as object, oStyle as object
>
> oDoc = thiscomponent
> oStyles = oDoc.styleFamilies.getByName("ParagraphStyles")
>
> if oStyles.hasByName(sNomStyle) then
>         oStyle = oStyles.getByName(sNomStyle)
>         with oStyle
>                 .CharColor = RGB(238,238,238)
>                 .CharBackColor = RGB(238,238,238)
>         end with
> else
>         msgbox "Style " & sNomStyle & " non trouvé", 64, "Modification pour
> impression"
> end if
>
>
> End Sub
>
>
> Cordialement
>
>
>
>
> --
> View this message in context:
> http://nabble.documentfoundation.org/masquer-un-style-a-l-impression-tp4146314p4148104.html
> Sent from the Users mailing list archive at Nabble.com.
>
> --
> Envoyez un mail à [email protected] pour savoir
> comment vous désinscrire
> Les archives de la liste sont disponibles à
> http://listarchives.libreoffice.org/fr/users/
> Tous les messages envoyés sur cette liste seront archivés publiquement et
> ne pourront pas être supprimés
>

-- 
Envoyez un mail à [email protected] pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à