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
