Bonjour,
Avant tout meilleurs vœux à tous pour cette nouvelle année.
Je fais appel au forum car j’ai un bug dans une macro qui affiche une fenêtre à chaque envoi de message pour ranger le mail envoyé dans un dossier spécifique. Cela évite d’aller chercher le mail dans élément envoyé et de le faire glisser dans un autre dossier.
La macro fonctionne parfaitement pour les envois de messages. Par contre, lorsqu’il s’agit d’une réunion à envoyer, j’ai le bug suivant :
Erreur d’exécution ‘438’ propriété ou méthode non gérée par cet objet
Visiblement le type SaveSentMessageFolder n’est pas pris en charge : j’ai trouvé cela pour l’objet MeetingItem :
Définition ou l'obtention de cette propriété n'a aucun effet notable. N'utilisez pas cette propriété.
Je cherche un moyen d’éviter ce bug avec une condition (si il s’agit d’un message pour une réunion alors ….). je voudrais tout de même arriver à classer le message de réunion dans un dossier (comme un mail normal).
Merci à tous pour votre aide si vous avez des idées.
MACRO
Avant tout meilleurs vœux à tous pour cette nouvelle année.
Je fais appel au forum car j’ai un bug dans une macro qui affiche une fenêtre à chaque envoi de message pour ranger le mail envoyé dans un dossier spécifique. Cela évite d’aller chercher le mail dans élément envoyé et de le faire glisser dans un autre dossier.
La macro fonctionne parfaitement pour les envois de messages. Par contre, lorsqu’il s’agit d’une réunion à envoyer, j’ai le bug suivant :
Erreur d’exécution ‘438’ propriété ou méthode non gérée par cet objet
Visiblement le type SaveSentMessageFolder n’est pas pris en charge : j’ai trouvé cela pour l’objet MeetingItem :
Définition ou l'obtention de cette propriété n'a aucun effet notable. N'utilisez pas cette propriété.
Je cherche un moyen d’éviter ce bug avec une condition (si il s’agit d’un message pour une réunion alors ….). je voudrais tout de même arriver à classer le message de réunion dans un dossier (comme un mail normal).
Merci à tous pour votre aide si vous avez des idées.
MACRO
Code:
Private Sub Application_ItemSend(ByVal Item As Object, _
Cancel As Boolean)
Dim objNS As NameSpace
Dim objFolder As MAPIFolder
Set objNS = Application.GetNamespace("MAPI")
Set objFolder = objNS.PickFolder
If TypeName(objFolder) <> "Nothing" And _
IsInDefaultStore(objFolder) Then
Set Item.SaveSentMessageFolder ' **** BUG ICI *****
End If
Set objFolder = Nothing
Set objNS = Nothing
End Sub
Public Function IsInDefaultStore(objOL As Object) As Boolean
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objInbox As Outlook.MAPIFolder
On Error Resume Next
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Select Case objOL.Class
Case olFolder
If objOL.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
End If
Case olAppointment, olContact, olDistributionList, _
olJournal, olMail, olNote, olPost, olTask
If objOL.Parent.StoreID = objInbox.StoreID Then
IsInDefaultStore = True
End If
Case Else
MsgBox "This function isn't designed to work " & _
"with " & TypeName(objOL) & _
" items and will return False.", _
, "IsInDefaultStore"
End Select
Set objApp = Nothing
Set objNS = Nothing
Set objInbox = Nothing
End Function
Dernière édition: