J'utilise l'UDF OutlookEX.
Je surveille ainsi l'arrivée de mails dans ma boîte de réception avec la fonction suivante :
Func Outlook_NewMailEx($sOL_EntryId)
Local $oErrorHandler = ObjEvent("AutoIt.Error", "ErrFunc") ; Suivi d'erreur. Ce code piège toutes les erreurs COM pendant l'exécution.
#forceref $oErrorHandler
Local $oOL_Item = $g_oOL.Session.GetItemFromID($sOL_EntryId, Default)
Local $sOL_Subject = $oOL_Item.Subject
Local $sOL_sBody = $oOL_Item.Body
Local $oOL_Recipient = $oOL_Item.Recipients.Item(1)
Local $sOL_Recipients = $oOL_Recipient.name
...
EndFunc ;==>Outlook_NewMailEx
Local $oErrorHandler = ObjEvent("AutoIt.Error", "ErrFunc") ; Suivi d'erreur. Ce code piège toutes les erreurs COM pendant l'exécution.
#forceref $oErrorHandler
Local $oOL_Item = $g_oOL.Session.GetItemFromID($sOL_EntryId, Default)
Local $sOL_Subject = $oOL_Item.Subject
Local $sOL_sBody = $oOL_Item.Body
Local $oOL_Recipient = $oOL_Item.Recipients.Item(1)
Local $sOL_Recipients = $oOL_Recipient.name
...
EndFunc ;==>Outlook_NewMailEx
Lorsque je reçois un mail de résultat de rappel, le script plante avec cette erreur :
► Afficher le texte
Il semblerait que l'erreur provienne de $oOL_Item.Recipients.Item(1)
Voici la page de ressources sur le site Microsoft : https://msdn.microsoft.com/en-us/librar ... e.12).aspx
J'ai tenté différentes petites choses pour éviter ce "plantage".
Le mail de rappel ne contenant pas de "body", ce code devrait fonctionner :
If $sOL_Body = '' Then
ConsoleWrite('- Pas de message' & @CRLF)
Return
EndIf
ConsoleWrite('BODY="' & $sOL_Body & '"' & @CRLF)
ConsoleWrite('- Pas de message' & @CRLF)
Return
EndIf
ConsoleWrite('BODY="' & $sOL_Body & '"' & @CRLF)
BODY=""
Ce code ne fonctionne pas mieux :
En fait le problème est que le mail de rappel n'est pas vraiment un mail comme expliqué ici : https://stackoverflow.com/questions/279 ... itemfromid
et là : https://stackoverflow.com/questions/287 ... l/38577413
Je n'arrive malheureusement pas à transformer le code indiqué en code AutoIt.
Peut-être pourriez-vous m'aider ?