Jean Sympa | 19 Aug 11:37
Picon
Favicon

Convertir un fichier eml au moyen d'une macro

Bonjour à toutes et à tous,

Convertir un fichier eml au moyen d'une macro

*Bilan de l'existant*

Sur un disque dur, j'ai de nombreux fichiers *.eml. Ils sont illisibles. 
Exemple

Bonsoir =E0 vous tous/toutes,
Lucie, notre 2=E8me petite-fille, est n=E9e (=E0 terme) cet =
apr=E8s-midi. Une c=E9sarienne en urgence, le c=9Cur du b=E9b=E9 =
indiquait des signes de souffrance ; =E0 la naissance la petite ne =
respirait pas. Elle est en r=E9animation infantile dans le service des =
pr=E9matur=E9s de l'h=F4pital, loin de sa maman en clinique =E0 l'autre =
bout de la ville...Bonsoir =E0 vous tous/toutes,
Lucie, notre 2=E8me petite-fille, est n=E9e (=E0 terme) cet =
apr=E8s-midi. Une c=E9sarienne en urgence, le c=9Cur du b=E9b=E9 =
indiquait des signes de souffrance ; =E0 la naissance la petite ne =
respirait pas. Elle est en r=E9animation infantile dans le service des =
pr=E9matur=E9s de l'h=F4pital, loin de sa maman en clinique =E0 l'autre =
bout de la ville...

il s'agit en fait uniquement d'un problème d'encodage.

=E9 correspond à é

=E0 correspond à à

=9C correspond à oe
(Continue reading)

Laurent Godard | 19 Aug 12:23
Picon
Favicon

Re: Convertir un fichier eml au moyen d'une macro

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)

(Continue reading)

Mario Agrillo | 19 Aug 18:54
Picon

RE: Convertir un fichier eml au moyen d'une macro


Bonjour

peut etre revenir a une version anterieure de Windows

j'ai eu ce probleme en passant de Xp vers Vista ,

tous mes raccourcis (Favoris exportes) avec caracteres accentue sont devenu illisibles ,

encodage different !

mario

> Date: Wed, 19 Aug 2009 12:23:17 +0200
> From: oooconv <at> free.fr
> To: prog <at> fr.openoffice.org
> Subject: Re: [prog] Convertir un fichier eml au moyen d'une macro
> 
> 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
(Continue reading)

Jean Sympa | 20 Aug 09:41
Picon
Favicon

Re: Convertir un fichier eml au moyen d'une macro


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
(Continue reading)

Laurent Godard | 20 Aug 10:07
Picon
Favicon

Re: Convertir un fichier eml au moyen d'une macro

Bonjour jean

tu lances directement cette version modifiée

pour le repertoire, il te suffit d'adapter la variable chemin_eml avec 
le nom du repertoire contenant ta collection de fichiers eml

sub traite_eml()

     dim prop(0) as new com.sun.star.beans.PropertyValue
     prop(0).name = "FilterName"
     prop(0).value = "Text"

     doc = thisComponent

     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
Jean Sympa | 21 Aug 15:40
Picon
Favicon

Re: Convertir un fichier eml au moyen d'une macro

Merci Laurent,

J'essaie d'adapter ton ébauche. Tu as traité le cas où les fichiers 
*.eml étaient réunis dans un même répertoire. Ces fichiers étant 
dispersés dans des répertoires, je veux traiter individuellement

ceux qui m'intéressent.

Mon hypothèse de travail est :

J'ouvre un fichier et je lance la macro de conversion.

Je m'inspire du chapitre 10 de la bible, acquise en 2006, qui n'est donc 
pas la dernière édition.

Je dois éliminer la recherche des fichiers dans les différents répertoires.

//*** Ta proposition, à titre de rappel

sub traite_eml()

dim prop(0) as new com.sun.star.beans.PropertyValue

prop(0).name = "FilterName"

prop(0).value = "Text"

doc = thisComponent

cherche = array("=E9", "=E0" ,"=9C" , "=E8" , "=F4" )
(Continue reading)

Laurent Godard | 21 Aug 17:45
Picon
Favicon

Re: Convertir un fichier eml au moyen d'une macro

Bonjour jean

tu remplaces dans traite_eml

doc = 
stardesktop.loadComponentFromURL(convertToURL(fichier),"_blank",0,prop())
par
doc = thisComponent

tu lances directement traite_eml (sans argument)

oublie main qui servait justement à la boucle sur les fichiers du 
repertoire comme tu l'as déjà noté

laurent
Jean Sympa | 22 Aug 08:48
Picon
Favicon

Re: Convertir un fichier eml au moyen d'une macro

Merci Laurent,

Main est passé à la trappe.

J'ai une erreur dès la première ligne; cette difficulté me dépasse.

sub traite_eml

   dim prop(0) as new com.sun.star.beans.PropertyValue '*Erreur de 
syntaxe Basic*

    prop(0).name = "FilterName"

     prop(0).value = "Text"

    doc = thisComponent

    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

msgbox "Fin du traitement"

end sub
(Continue reading)

Francois Gatto | 22 Aug 19:27

Re: Convertir un fichier eml au moyen d'une macro

Bonjour

Il n'y a apparemment aucune erreur dans cette macro, et encore moins
dans la ligne mentionnée.

Sinon joins nous ton code par copier-coller.

Francois Gatto

Jean Sympa a écrit :
> Merci Laurent,
> 
> 
> Main est passé à la trappe.
> 
> J'ai une erreur dès la première ligne; cette difficulté me dépasse.
> 
> 
> sub traite_eml
> 
> 
>   dim prop(0) as new com.sun.star.beans.PropertyValue '*Erreur de
> syntaxe Basic*
> 
>    prop(0).name = "FilterName"
> 
>     prop(0).value = "Text"
> 
> 
>    doc = thisComponent
(Continue reading)

Jean Sympa | 22 Aug 22:06
Picon
Favicon

Re: Convertir un fichier eml au moyen d'une macro

> Merci François,
>
>
> La macro est enregistrée. J'ouvre un document. Je passe par Gérer les 
> macro et
>
> je lance traite_eml. L'erreur apparaît immédiatement
>
>
> Voici le code
>
>
> REM ***** BASIC *****
>
>
> sub traite_eml
>
>
>    dim prop(0) as new com.sun.star.beans.PropertyValue 'Erreur de 
> syntaxe Basic
>
>     prop(0).name = "FilterName"
>
>      prop(0).value = "Text"
>
>
>     doc = thisComponent
>
>     cherche = array("=E9", "=E0" ,"=9C" , "=E8" , "=F4" )
>
(Continue reading)


Gmane