Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2011, 13h36   #1
Membre du Club
 
Inscription : janvier 2007
Messages : 134
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 134
Points : 47
Points : 47
Par défaut Comment être sur que c'est bien un mail qui est sélectionné

Bonjour

J'ai écrit la macro suivante :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Sub CleanPieceJointe()
    ' permet de supprimer les pièces jointes des mails sélectionnés.
 
    Dim LOutlookAppli As Outlook.Application
    Dim Lmail As MailItem
    Dim LSelectMails As Object
    Dim Li As Integer
 
    Set LOutlookAppli = Outlook.Application
    Set LSelectMails = LOutlookAppli.ActiveExplorer.Selection
 
    ' Pour tous les mails selecionnés
 
    For Each Lmail In LSelectMails
 
        'alimentation du tableau des attachments
        While (Lmail.Attachments.Count <> 0)
            Lmail.Attachments.Item(1).Delete
        Wend
 
        Lmail.Save
     Next Lmail
 
 
    Set LOutlookAppli = Nothing
    Set LSelectMails = Nothing
 
    MsgBox "Fin de la suppression des pièces jointes"
 
End Sub
Celà permet de supprimer les piéces jointes d'une liste de mails sélectionnés par l'utilisateur.

Comme je récupère la sélection par LOutlookAppli.ActiveExplorer.Selection
Comment puis je vérifier qu'il s'agit bien de mail et pas d'un objet du calendrier ou autre...

Car bien sur si c'est le cas, la macro plante ..

D'avance merci de votre aide.

Bonnes fêtes de fin d'année.
basto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 12h08   #2
Invité de passage
 
Inscription : janvier 2012
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 5
Points : 2
Points : 2
Bonjour.

Il faut tester le "type" du message :
Code :
1
2
3
4
5
6
7
8
9
10
 
...
For Each Lmail In LSelectMails
  if Lmail.Class = olMail then
  ' olMeetingRequest pour savoir si c'est un rdv
  ...
  end if          
 
Next Lmail
...
jemore22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 15h41   #3
Membre du Club
 
Inscription : janvier 2007
Messages : 134
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 134
Points : 47
Points : 47
Merci pour cette réponse.

Ca fonctionne super !!!

Bonne et heureuse année !! !
basto est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h39.


 
 
 
 
Partenaires

Hébergement Web