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 <matlane2014@gmail.com> 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 <pierre-yves.samyn@laposte.net> 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 à users+unsubscribe@fr.libreoffice.org 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 à users+unsubscribe@fr.libreoffice.org 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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.