Transformer un mail en fichier séparateur champs fixes

Le
Fred
Bonjour,

Je tente (en vain), de faire un scipt qui pourrait m'enregistrer un mail
en fichier .txt à plat.
Je fais un script qui sauvegarde le mail en HTML, puis tente de
l'enregistrer en tant que fichier texte, mais en vain
Je ne trouve pas la fonction qui me permettrait de le convertir et m'arrête
lamentablement sur ma ligne : "xlapp.Workbooks.Open FileName:=Fic_Liste"

Si quelqu'un pouvait me donner un petit coup de main, ce serait vraiment
avec plaisir !!

FRED.


Voici mon scipt :

Sub Rec_txt()

Set xlapp = CreateObject("Excel.Application")
xlapp.Visible = True

Dim ofso, Fic_Liste, Nom_Fic

Set ofso = CreateObject("Scripting.FileSystemObject")

If ofso.FileExists("C:Temptest10.html") Then
Set Fic_Liste = ofso.GetFile("C:Temptest10.html")
Nom_Fic = Fic_Liste.Name

xlapp.Workbooks.OpenText Fic_Liste

xlapp.Workbooks.Open FileName:=Fic_Liste

Else: MsgBox "fichier non trouvé", vbCritical, "ERREUR"

End If

End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT [MVP]
Le #17402541
"Fred" news:O$
| Bonjour,

Bonjour,

| Je tente (en vain...), de faire un scipt qui pourrait m'enregistrer
| un mail en fichier .txt à plat.
| Je fais un script qui sauvegarde le mail en HTML, puis tente de
| l'enregistrer en tant que fichier texte, mais en vain...
| Je ne trouve pas la fonction qui me permettrait de le convertir et
| m'arrête lamentablement sur ma ligne : "xlapp.Workbooks.Open
| FileName:=Fic_Liste"

Voici un bout de code VBScript permettant de convertir à l'aide de
Microsoft Excel un fichier HTML au format texte. Les codes pages ANSI et
OEM sont supportés :

--- Coupez ici : CodeSnippet.vbs ---
Set oExcel=CreateObject("Excel.Application")
oExcel.DisplayAlertsúlse ' overwrite
Set oWorkbook=oExcel.Workbooks.Open("D:TestTest.html")
oWorkbook.SaveAs "D:TestTest.txt", 20 ' ANSI codepage
' oWorkbook.SaveAs "D:TestTest.txt", 21 ' OEM codepage
oWorkbook.Close ' be a good citizen
oExcel.Quit()
--- Coupez ici : CodeSnippet.vbs ---

Les formats d'enregistrement supportés (Jusqu'à Excel 2007) :
http://msdn.microsoft.com/en-us/library/bb241279.aspx

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Fred
Le #17408061
Bonjour Gilles,

Merci pour votre réponses.
Toutefois, pour être un peu plus gourmand, je me demande si il n'y aurait
pas un moyen de passer de WSH en VBA.
En effet, je suis plus à l'aise (notemment sur Excel) en VBA (enregistreur
de macro, référence des méthodes dans l'aide...).

Le problème dans mon script est que j'ouvre un mail depuis MS Outlook à
l'aide d'Excel:

... Set Mail_Ouvert = ActiveInspector.CurrentItem

... xlapp.Workbooks.OpenText Fic_Liste

Un fois ici, je me trouve dans l'impossibilité d'utiliser VBA...
Je dois utiliser WSH (je pense parce que je ne nuis pas vraiment dans
Excel...).

Y aurait-il un moyen de rester dans le même script en utilisant VBA ?

Merci.

FRED.



"Gilles LAURENT [MVP]" news:
"Fred" news:O$
| Bonjour,

Bonjour,

| Je tente (en vain...), de faire un scipt qui pourrait m'enregistrer
| un mail en fichier .txt à plat.
| Je fais un script qui sauvegarde le mail en HTML, puis tente de
| l'enregistrer en tant que fichier texte, mais en vain...
| Je ne trouve pas la fonction qui me permettrait de le convertir et
| m'arrête lamentablement sur ma ligne : "xlapp.Workbooks.Open
| FileName:=Fic_Liste"

Voici un bout de code VBScript permettant de convertir à l'aide de
Microsoft Excel un fichier HTML au format texte. Les codes pages ANSI et
OEM sont supportés :

--- Coupez ici : CodeSnippet.vbs ---
Set oExcel=CreateObject("Excel.Application")
oExcel.DisplayAlertsúlse ' overwrite
Set oWorkbook=oExcel.Workbooks.Open("D:TestTest.html")
oWorkbook.SaveAs "D:TestTest.txt", 20 ' ANSI codepage
' oWorkbook.SaveAs "D:TestTest.txt", 21 ' OEM codepage
oWorkbook.Close ' be a good citizen
oExcel.Quit()
--- Coupez ici : CodeSnippet.vbs ---

Les formats d'enregistrement supportés (Jusqu'à Excel 2007) :
http://msdn.microsoft.com/en-us/library/bb241279.aspx

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr




Fred
Le #17432961
Bonjour,

Merci à Gilles pour sa réponse exhaustive :


----- Original Message -----
From: "Gilles LAURENT" To: "Fred" Sent: Friday, October 03, 2008 4:09 PM
Subject: Re: Transformer un mail en fichier séparateur champs fixes



D'accord, c'est maintenant plus clair.
Lorsque vous êtes sous Excel (en VBA), l'objet "Excel.Application" est
manipulé de manière implicite. En revanche, sous WSH (en VBScript), il est
nécessaire de spécifier de manière explicite la volonté d'utiliser les
méthodes et propriétés de l'objet "Excel.Application". Donc pour reprendre
votre exemple :

--- Coupez ici: CodeSnippet.vbs ---
Set oExcel=CreateObject("Excel.Application")
oExcel.Visible=True
Set oWorkbook=oExcel.Workbooks.Open("c:tempMacro.xls")
With oExcel
.Range("C1").Select
.Selection.Copy
.Range("F1").Select
.ActiveSheet.Paste
End With
--- Coupez ici: CodeSnippet.vbs ---

En fait, c'est quasiment identique !

Concernant l'autocomplétion des méthodes et propriétés, il y a plusieurs
éditeurs qui l'implémente. La référence étant PrimalScript de chez Sapien
Technologies :

Personnellement, j'utilise Notepad :-) et pour tester des bouts de script,
ma console WSH Shell. La console WSH Shell permet de saisir des commandes
VBScript en ligne de commandes et cela de manière intéractive. C'est avec
cette console que je test rapidement mes réponses aux usagers du newsgroup
Scripting :

Cordialement.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr


----- Mail Original -----
De: "Fred" À: "Gilles LAURENT" Envoyé: Vendredi 3 Octobre 2008 14:22:24 GMT +01:00 Amsterdam / Berlin /
Berne / Rome / Stockholm / Vienne
Objet: Re: Transformer un mail en fichier séparateur champs fixes



Effectivement, c'est un peu embrouillé...

Merci pour votre lien, c'est tout à fait ce que je charchais.
en revanche, ce qu'il me manque, c'est par exemple, lorsque sur l'éditeur
VVBA Excel je tape : "ActiveCell.Font.Bold = True", je peux avoir une liste
de choix par exemple à
la suite de "ActiveCell."
Ce n'es pas le cas si je tape "xlapp.ActiveCell."

Ensuite, voici un exemple pour illustrer ma demande :
Sur Excel, en VBA :

Sub Macro1()

Range("C1").Select
Selection.Copy
Range("F1").Select
ActiveSheet.Paste
ActiveSheet.Paste

End Sub

Au sein d'un script VBS :

Sub Macro1()

Set xlapp = CreateObject("Excel.Application")
xlapp.Visible = True
Set oWorkbook = xlapp.Workbooks.Open("c:tempMacro.xls")

Range("C1").Select
Selection.Copy
Range("F1").Select
ActiveSheet.Paste
ActiveSheet.Paste

End Sub

J'obtiens une erreur... Je me dis bien qu'il faudrait faire précéder mes
insctructions de "xlapp." ... mais où et comment.... ?

Merci.

FRED.








----- Original Message -----
From: "Gilles LAURENT" To: "Fred" Sent: Friday, October 03, 2008 1:22 PM
Subject: Re: Transformer un mail en fichier séparateur champs fixes



Bonjour,

Je viens de prendre connaissance de votre dernier Post sur le newsgroup
Scripting.
Pourriez vous reformuler pour être certain de bien comprendre votre demande.

Vous développez sous Excel (en VBA) ou en WSH (VBScript) ?

L'objet COM Excel.Application est bien documenté :

Que souhaitez-vous faire précisément ?

Cordialement.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr


----- Mail Original -----
De: "Fred" À: "Gilles LAURENT [MVP]" Envoyé: Jeudi 2 Octobre 2008 17:40:53 GMT +01:00 Amsterdam / Berlin / Berne
/ Rome / Stockholm / Vienne
Objet: Re: Transformer un mail en fichier séparateur champs fixes


Bonjour,

Merci beaucoup, cela semble parfaitement fonctionner.
Je continue de le tester.

Bonne soirée,

FRED.




----- Original Message -----
From: "Gilles LAURENT [MVP]" Newsgroups: microsoft.public.fr.scripting
Sent: Thursday, October 02, 2008 5:19 PM
Subject: Re: Transformer un mail en fichier séparateur champs fixes


"Fred" news:O$
| Bonjour,

Bonjour,

| Je tente (en vain...), de faire un scipt qui pourrait m'enregistrer
| un mail en fichier .txt à plat.
| Je fais un script qui sauvegarde le mail en HTML, puis tente de
| l'enregistrer en tant que fichier texte, mais en vain...
| Je ne trouve pas la fonction qui me permettrait de le convertir et
| m'arrête lamentablement sur ma ligne : "xlapp.Workbooks.Open
| FileName:=Fic_Liste"

Voici un bout de code VBScript permettant de convertir à l'aide de
Microsoft Excel un fichier HTML au format texte. Les codes pages ANSI et
OEM sont supportés :

--- Coupez ici : CodeSnippet.vbs ---
Set oExcel=CreateObject("Excel.Application")
oExcel.DisplayAlertsúlse ' overwrite
Set oWorkbook=oExcel.Workbooks.Open("D:TestTest.html")
oWorkbook.SaveAs "D:TestTest.txt", 20 ' ANSI codepage
' oWorkbook.SaveAs "D:TestTest.txt", 21 ' OEM codepage
oWorkbook.Close ' be a good citizen
oExcel.Quit()
--- Coupez ici : CodeSnippet.vbs ---

Les formats d'enregistrement supportés (Jusqu'à Excel 2007) :
http://msdn.microsoft.com/en-us/library/bb241279.aspx

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr












"Fred" news:

Bonjour Gilles,

Merci pour votre réponses.
Toutefois, pour être un peu plus gourmand, je me demande si il n'y aurait
pas un moyen de passer de WSH en VBA.
En effet, je suis plus à l'aise (notemment sur Excel) en VBA (enregistreur
de macro, référence des méthodes dans l'aide...).

Le problème dans mon script est que j'ouvre un mail depuis MS Outlook à
l'aide d'Excel:

... Set Mail_Ouvert = ActiveInspector.CurrentItem

... xlapp.Workbooks.OpenText Fic_Liste

Un fois ici, je me trouve dans l'impossibilité d'utiliser VBA...
Je dois utiliser WSH (je pense parce que je ne nuis pas vraiment dans
Excel...).

Y aurait-il un moyen de rester dans le même script en utilisant VBA ?

Merci.

FRED.



"Gilles LAURENT [MVP]" news:
"Fred" news:O$
| Bonjour,

Bonjour,

| Je tente (en vain...), de faire un scipt qui pourrait m'enregistrer
| un mail en fichier .txt à plat.
| Je fais un script qui sauvegarde le mail en HTML, puis tente de
| l'enregistrer en tant que fichier texte, mais en vain...
| Je ne trouve pas la fonction qui me permettrait de le convertir et
| m'arrête lamentablement sur ma ligne : "xlapp.Workbooks.Open
| FileName:=Fic_Liste"

Voici un bout de code VBScript permettant de convertir à l'aide de
Microsoft Excel un fichier HTML au format texte. Les codes pages ANSI et
OEM sont supportés :

--- Coupez ici : CodeSnippet.vbs ---
Set oExcel=CreateObject("Excel.Application")
oExcel.DisplayAlertsúlse ' overwrite
Set oWorkbook=oExcel.Workbooks.Open("D:TestTest.html")
oWorkbook.SaveAs "D:TestTest.txt", 20 ' ANSI codepage
' oWorkbook.SaveAs "D:TestTest.txt", 21 ' OEM codepage
oWorkbook.Close ' be a good citizen
oExcel.Quit()
--- Coupez ici : CodeSnippet.vbs ---

Les formats d'enregistrement supportés (Jusqu'à Excel 2007) :
http://msdn.microsoft.com/en-us/library/bb241279.aspx

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr







Publicité
Poster une réponse
Anonyme