LSGSERVAL
Messages postés22Date d'inscriptionmercredi 12 février 2003StatutMembreDernière intervention14 août 2008
-
20 juil. 2007 à 09:02
LSGSERVAL
Messages postés22Date d'inscriptionmercredi 12 février 2003StatutMembreDernière intervention14 août 2008
-
21 juil. 2007 à 13:11
Bonjour à tous
il y a quelques temps, j'avais trouver un code me permettant de sauvegarde les mails de outlook dans un dossier spécifié en formatant le fichier .msg de la facon suivante :
aaaammjj-expediteur-objet.msg
Suite à un plantage de mon DD, j'ai perdu ce code (je sais j'aurais du la sauvegarder quelque part ou l'imprimer).
Est ce que quelqu'un pourrait m'aider a recréer cette fonction en vba ou bien de donner des listes de sites traitant du vba pour outlook 2003 ?
J'ai bien en début de code, mais hélas quand je le teste je tombe sur des messages d'erreurs et n'étant pas un specialiste vba je n'arrive pas à débugger le code.
Déjà, il faut déclarer les variables
Ensuite, on récupére la séléction via ActiveExplorer.Selection.
Const OutputDirectory As String = "c:\mail\"
Dim SelectObject As Selection
Set SelectObject = Outlook.Application.ActiveExplorer.Selection
Dim i As Integer
For i = 1 To SelectObject.Count
Dim Item As MailItem
Set Item = SelectObject.Item(i)
Dim ItemOutputFileName As String
ItemOutputFileName = OutputDirectory & Item.Subject & ".msg"
Item.SaveAs ItemOutputFileName, OlSaveAsType.olMSGUnicode
Next i,
Si tu regarde le contenu de ItemOutputFileName, il y a (par exemple) :
c:\mail\20/07/2007 09:19:48 PM-CodeS-SourceS.com-Nouveau message sur le Forum de VBFrance.com [[VBA Outlook 2003] - Sauvegarder les mails au format .msg].msg
La date ne va pas. Pourquoi ? Parsque elle contient des / et des : et qui sont non autoriser dans les noms de fichiers.
Pour transformer ca, tu peux utiliser la fonction format qui te permettera aussi de choisir comment l'afifcher.
Par exemple: Format$(Item.ReceivedTime, "dd-mm-yy Hh Nn Ss")
LSGSERVAL
Messages postés22Date d'inscriptionmercredi 12 février 2003StatutMembreDernière intervention14 août 2008 20 juil. 2007 à 21:18
Bonjour
et merci pour le code, il marche parfaitement bien :D
J'ai essayé de l'adapter en ajoutant la date de reception et le nom de l'expediteur.
J'arrive a avoir le nom de l'expediteur mais pas la date
Voici le code qui fonctionne :
ItemOutputFileName = OutputDirectory & Item.SenderName & "-" & Item.Subject & ".msg"
Par contre si je fait
ItemOutputFileName = OutputDirectory & Item.ReceivedTime & "-" & Item.SenderName & "-" & Item.Subject & ".msg"
Je n'ai pas de message d'erreur mais j'ai pas non plus de copie du message dans mon répertoire
Serait-ce abuser de demander pourquoi ?
Merci d'avance
La route du savoir est plus longue que la muraille de Chine