XL 2016 Recherche Outlook via Excel VBA

F22Raptor

XLDnaute Impliqué
MESSAGE REMPLACÉ PAR UN AUTRE PLUS PROPRE !!!


Hello
Sur Excel+Outlook 2016, nouveau poste au boulot sous Windows 10.
Je teste les macros de cette page : https://docs.microsoft.com/en-us/office/vba/api/outlook.namespace.getdefaultfolder

Et ça plante à la première ligne : Dim myNamespace As Outlook.Namespace
Erreur de Compilation
Type défini par l'utilisateur non défini

Il me semblait que dans mon ancien Excel 2010, ça marchait !
Peut-être que sous Office 2016, l'appli Outlook ne s'appelle plus 'outlook', mais MSOutlook, ou quelque chose comme ça ?
Ou un paramètre à spécifier quelque part ? (dans les options d'Excel ?)
 
Dernière édition:

F22Raptor

XLDnaute Impliqué
Je poursuis mes tests, et j'arrive à déclarer ma variable.
Problème :
le premier message qu'il me récupère date du 15/11/18 !

Piste de réflexion : je suis passé aujourd'hui sur un nouveau PC avec Windows 10 + Office 2016 (précédent sur Windows 7 + Office 2010). En regardant les fichiers systèmes, j'ai l'impression que le nouveau poste a été configuré le 15/11 ...

Voici le code utilisé :
Dim appOutlook As Object
Dim olNs As Object
Dim olFolder As Object
Dim olItem As Object
Dim iRow As Integer

' Get/create Outlook Application
On Error Resume Next
Set appOutlook = GetObject(, "Outlook.Application")

If appOutlook Is Nothing Then
Set appOutlook = CreateObject("Outlook.Application")
End If

On Error GoTo 0

Set olNs = appOutlook.GetNamespace("MAPI")
Set olFolder = olNs.GetDefaultFolder(6) ' 6 == Inbox for some reason


MsgBox olFolder.Items.Item(1).Subject & vbCr & olFolder.Items.Item(1).ReceivedTime


Et donc la MsgBox retourne un message du 15/11.
Mystère et boule de gomme, mais une question me taraude : Outlook.Application n'est-il pas dédié à Outlook 2010, et il faut utiliser un autre nom pour 2016 ?...
 

F22Raptor

XLDnaute Impliqué
Ca avance ca avance ... Mais c'est tjs fumeux !

La ligne Set olFolder = olNs.GetDefaultFolder(6) recherche dans un des dossiers.
Le 6 est l'Inbox, et les autres dossiers dont listés ci-dessous.
https://docs.microsoft.com/en-us/office/vba/api/outlook.oldefaultfolders

J'ai testé tous ces codes.
Par exemple, pour le SENT MAIL, il me retourne le dernier mail envoyé hier, mais les mails envoyés aujourd'hui sont invisibles aux yeux de la macro.
Et ça n'était pas le cas jusque hier, sur Outlook 2010.
 

Statistiques des forums

Discussions
312 104
Messages
2 085 332
Membres
102 864
dernier inscrit
abderrashmaen