IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outlook Discussion :

Nombre de Mails dans un répertoire >>> Problème dû au serveur


Sujet :

Outlook

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 125
    Par défaut Nombre de Mails dans un répertoire >>> Problème dû au serveur
    Bonjour,

    Rechercher le nombre de mails dans un répertoire à partir d'un autre produit MS Office, c'est pas trop compliqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Public Sub OutlookConnection()
     
        'Objets de l'application Outlook
        Public objOutlook As Outlook.Application
        Public objNameSpace As Outlook.Namespace
        Public objRecipient As Outlook.Recipient
        Public objMailFolderInbox As Outlook.MAPIFolder
     
        'Ouvrir Outlook.
        Set objOutlook = New Outlook.Application
     
        'Créer le NameSpace.
        Set objNameSpace = objOutlook.GetNamespace("MAPI")
        objNameSpace.SendAndReceive (True)
     
        'Créer le récipient
        Set objRecipient = objNameSpace.CreateRecipient("Nom de la boîte")
        objRecipient.Resolve
     
        'Recherche du Folder Inbox.
        Set objMailFolderInbox = objNameSpace.GetSharedDefaultFolder(objRecipient, olFolderInbox)
     
        'Nombre de Mails dans le Folder.
        MsgBox objMailFolderInbox.Items.Count
     
    End Sub
    Le problème est que le code renvois le nombre de Mails présent dans le répertoire sans tenir compte du serveur.
    Dans mon cas : 58 Mails est la valeur renvoyée par le code Count MAIS 73 Mails sont sur le serveur.
    Outlook le sait puisqu'il indique le nombre exact d'éléments en bas à gauche !

    Comment obtenir le nombre de Mails total apparemment connu de Outlook sans se connecter au serveur ?


    Nom : Image.png
Affichages : 1039
Taille : 38,8 Ko

    Merci pour votre aide,

    Philippe

  2. #2
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Question intéressante !

    Je n'ai pas de version >= 2013 sous la main pour tester, mais à priori il faut utiliser INSTANT SEARCH


    il faudrait tester si après avoir appuyé sur le bouton (cf image), et en utilisant ce code tu retrouves tes petits
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ActiveExplorer.CurrentFolder
    Nom : view-on-server-575x68.png
Affichages : 784
Taille : 23,0 Ko
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 125
    Par défaut
    Sorry pour la réaction tardive, j'étais en vacance.

    Ta solution nécessite une intervention manuelle : Appuyer sur la commande "View on server" pour mettre les répertoires à jours.
    De plus, je ne suis parvenu à la mettre en oeuvre.

    Dans l'exemple ci-dessous, il y a 171 mails dans le répertoire (local + serveur) mais < objMailFolderInbox.Items.Count > n'indique que 111 mails, c'est à dire seulement ceux présent en local.
    Outlook connait pourtant la réponse puisqu'il la donne en bas à gauche de la fenêtre et ce sans mise à jour des répertoires.
    Il la donne également lorsque l'option < Afficher le nombre total d'éléments > est sélectionnée.

    Quelle est donc la commande qui va me permettre de lire cette valeur exacte et non de compter le nombre de mails en local ?

    Nom : Image 1.jpg
Affichages : 1071
Taille : 242,8 Ko

    Merci pour l'aide à cette question qui est effectivement intéressante

  4. #4
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    En fait dans un premier temps c est de vérifier que après avoir appuyé sur ce bouton l info soit dispo.
    Réessaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     sub test () 
    Msgbox Application.ActiveExplorer.CurrentFolder.Items.count
    End sub
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 125
    Par défaut
    En fait, je n'ai pas le droit d'afficher en local, ni même en ligne, ce qui se trouve sur le serveur
    Nom : Image 1.png
Affichages : 773
Taille : 2,0 Ko

    De fait, < Application.ActiveExplorer.CurrentFolder.Items.count > donne la même valeur que < Outlook.Application.GetNamespace("MAPI").GetSharedDefaultFolder(objRecipient, olFolderInbox).Items.Count > c'est à dire le nombre de mails en local.
    Pourtant, et je me répète , Outlook connaît le nombre total de mails (local+serveur), sans même devoir rapatrier en local ce qui se trouve sur le serveur
    Mais où est donc cette information qu'il montre dans le coin inférieur gauche ou à côté du nom de répertoire quand l'option < Afficher le nombre total d'éléments > est sélectionnée ?
    Il doit bien y avoir une variable à interroger au sein de Outlook ? Ou une commande du style < Application.ActiveExplorer.CurrentFolder.TotalItems.value > ?

    Philippe

  6. #6
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Voici ce que j'ai trouvé


    To access older (but not archived) emails, you can either

    Set the Exchange account to sync all items in the Exchange account properties dialog. Outlook must be restarted.
    Set the Exchange account to sync all items programmatically. You can do that using Extended MAPI (C++ or Delphi only), there is a flag that needs to be set in the MSEMS profile section. Redemption (any language) exposes the RDOExchangeMailboxStore.MonthsToKeepOffline / DaysToKeepOffline properties. Outlook must be restarted.
    Open the parent folder in the online mode using the MAPI_NO_CACHE flag when calling IMsgStore::OpenEntry (Extended MAPI, C++ or Delphi only). Redemption lets you pass that flag when you open the folder using RDOSession.GetFolderFromID from any language.
    la 3ème méthode à l'air la mieux !

    il y a aussi la possibilité de modifier le registre pour désactiver le mode exchange mis en cache, ouvrir OUtlook, lancer le traitement, remettre les valeurs du registre, réouvrir outlook

    désactiver cache

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\outlook\ost]
    "NoOST"=dword:00000002
    [HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\outlook\cached mode]
    "Enable"=dword:00000000
    réactiver la cache

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\outlook\ost]
    "NoOST"=dword:00000000
    [HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\outlook\cached mode]
    "Enable"=dword:00000001
    Remarque L’espace réservé de xx.0 représente votre version d’Office (16.0 = 2016 d’Office, Office 2019 ou Outlook pour Office 365, 15.0 = Office 2013, 14.0 = Office 2010).
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 26/11/2008, 16h41
  2. Réponses: 1
    Dernier message: 30/10/2007, 00h07
  3. récuperer le nombre de fichiers dans un répertoire
    Par peppena dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 17/07/2007, 13h35
  4. Nombre de fichiers dans un répertoire...
    Par menuge dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 28/03/2006, 17h02
  5. compter le nombre de fichiers dans un répertoire !
    Par lehic dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 20/11/2005, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo