Merci Laurent,
J'essaie de comprendre. Je bute sur une difficulté.
J'aimerais ouvrir un fichier *.eml puis, lancer la macro.
Sub Main
chemin_eml = "/home/lgodard/"
fichier = dir(chemin_eml+"*.eml")
while fichier<>""
call traite_eml(chemin_eml+fichier)
fichier = dir()
wend
msgbox "Fin du traitement du repertoire"
End Sub
Ici, on considère un répertoire. Home indique que l'on est sur Linux or,
je suis sous XP.
Le répertoire de travail est l(aurent)godard. Je ne cherche pas à le
renommer car, je veux accéder
directement à un fichier ouvert.
Quand je lance la macro, il ne se passe rien, j'ai le message "Fin du
traitement du repertoire"
Comment peut-on lancer la macro alors que le fichier est ouvert?
Cordialement
Papy
//********************************************************************************************************************************
Laurent Godard a écrit :
Bonjour
ci joint une ebauche faite rapidement en utilisant l'enregistreur de
macro pour la partie rechercher/remplacer
je te laisse poursuivre/adapter
HTH
laurent
Ps: bon courage à la petit fille et ses parents
'-------------------------
Sub Main
chemin_eml = "/home/lgodard/"
fichier = dir(chemin_eml+"*.eml")
while fichier<>""
call traite_eml(chemin_eml+fichier)
fichier = dir()
wend
msgbox "Fin du traitement du repertoire"
End Sub
sub traite_eml(fichier)
dim prop(0) as new com.sun.star.beans.PropertyValue
prop(0).name = "FilterName"
prop(0).value = "Text"
doc =
stardesktop.loadComponentFromURL(convertToURL(fichier),"_blank",0,
prop())
cherche = array("=E9", "=E0" ,"=9C" , "=E8" , "=F4" )
remplace= array ("é","à","œ", "é", "ô")
for i=lbound(cherche) to ubound(cherche)
call rechercheRemplace(doc, cherche(i), remplace(i))
next i
end sub
sub rechercheRemplace(doc, cherche, remplace)
rem
----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem
----------------------------------------------------------------------
rem get access to the document
document = doc.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem
----------------------------------------------------------------------
dim args1(18) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 65536
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = cherche
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = remplace
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 3
args1(18).Name = "Quiet"
args1(18).Value = true
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0,
args1())
end sub
---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org