j'oubliais: j'ai déja cherché pour ajouter le mot eleve mais à un
repertoir... et pas en recursif

post; sub main

repBase="/home/cemoi/owncloud/perso/test_macro/"
fichier = dir(repBase+"*eleve*.odt")
while fichier<>""
   call traiteFichier(repBase+fichier)
   fichier = dir()
wend

end sub

en cherchant j'ai vu ça:

Instruction Name [Exécution]
Renomme un fichier ou répertoire existant.
Syntaxe :
Name OldName As String As NewName As String
Paramètres :
OldName, NewName : expression au format chaîne de caractères indiquant le
nom de fichier, chemin d'accès compris. Vous pouvez également utiliser la
notation URL.

mais je n'arrive pas à l'intégrer dans ma boucle...

Le 8 mai 2015 22:47, Cemoi Cemoi <[email protected]> a écrit :

> 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 à