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

C# Discussion :

Plugin Outlook: Impossible de le fermer correctement


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut Plugin Outlook: Impossible de le fermer correctement
    Bonjour,

    J'ai réalisé un plugin Outlook qui manipule le carnet d'adresses. Cependant, lors de la fermeture d'outlook, le processus OUTLOOK.EXE reste ouvert.

    Pouvez-vous m'aidez à trouver une solution pour le fermer correctement ?


    Voici un extrait du code qui illustre les objets utiliser pour manipuler les adresses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                Microsoft.Office.Interop.Outlook.Application outlook = new Microsoft.Office.Interop.Outlook.ApplicationClass();
     
                Microsoft.Office.Interop.Outlook.NameSpaceClass myNameSpace = (Microsoft.Office.Interop.Outlook.NameSpaceClass)outlook.GetNamespace("MAPI");
     
                Microsoft.Office.Interop.Outlook.MAPIFolder contactFolder = null;
     
                contactFolder = outlook.ActiveExplorer().Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);
     
                Microsoft.Office.Interop.Outlook.ContactItem ContactItem;
    A priori, une nouvelle session Outlook est créer en mémoire. Mais je n'ai aucune idée de la façon de procéder pour la fermer dès que j'arrive à la fin de ma fonction.

    En espérant que quelqu'un pourra m'aider

    Merci,
    Maxime

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Essaye de faire ca en 3 fois:

    - Récupération de la session
    - Récupération du contactFolder
    - Fermeture de la session

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut
    Merci pour ta réponse

    Le seul soucis, c'est que je n'arrive pas à fermer la session

    J'ai tenté ces deux morceaux de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    outlook.ActiveExplorer().Close();
    Pour ces deux test, j'obtient une erreur d'Ambiguïté :
    Ambiguïté entre la méthode 'Microsoft.Office.Interop.Outlook._Explorer.Close()' et l'élément 'Microsoft.Office.Interop.Outlook.ExplorerEvents_10_Event.Close' qui n'est pas une méthode. Utilisation du groupe de méthodes. C:\Projets\DxOutlook\trunk\Dataxo\MyOutlook.cs 742 38 Dataxo
    Comment régler cette erreur ? Je ne connais pas encore toute les ficelles du c#...

    Merci,
    Maxime

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Essaye de faire un Logoff sur ton objet représentant ta session

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,
    je ne comprend pas pourquoi tu as besoin de créer une nouvelle application Outlook :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Microsoft.Office.Interop.Outlook.Application outlook = new Microsoft.Office.Interop.Outlook.ApplicationClass();
    Tu ne pourrais pas récupérer l'application courante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Outlook.Application app = Globals.ThisAddIn.Application;
    Peut-être qu'il y a un Outlook.exe qui traine parce qu'il y en a deux : celui qui est lancé par l'utilisateur, et celui que tu crées dans ton programme.

    Et un petit alias te permettrait d'alléger ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using Outlook = Microsoft.Office.Interop.Outlook;

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Si on est dans un plugin, pas besoin de passer par:

    Globals.ThisAddIn.Application

    Un simple:

    this.Application suffit

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut
    Merci beaucoup pour vos réponses !

    J'y suis presque arrivé! Il me reste encore une ligne qui gêne la bonne fermeture d'outlook.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NbContact = Connect.MyFolder.Items.Count;
    MyFolder est mon répertoire de contact outlook. C'est le seul point noir qui empeche la bonne fermeture d'outlook. Et j'ai besoin de compter le nombre de contact dans mon carnet .

    Maxime

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Alors là, c'est vrai que c'est assez étrange Je ne comprend pas pourquoi cette ligne bloque la fermeture d'Outlook.....

  9. #9
    Invité
    Invité(e)
    Par défaut
    Comment la ligne bloque la fermeture ? Tu veux dire que le programme sort sur cette ligne ?
    Peut être qu'il n'arrive pas à accéder à Count. Suis-le au debuggueur, et regarde si de MyFolder, ou de Connect, un des deux est à nothing.

Discussions similaires

  1. [Outlook] Impossible de récupérer mes messages ...
    Par Rumeurs dans le forum Outlook
    Réponses: 4
    Dernier message: 13/04/2006, 19h05
  2. Pb outlook : impossible de se connecter au serveur
    Par teshub dans le forum Outlook
    Réponses: 5
    Dernier message: 10/10/2005, 16h44
  3. [Plugin][Tomcat]impossible d'installer le plugin tomcat
    Par LSL dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 06/04/2005, 09h57
  4. [Plugin Tomcat] Impossible de lancer TOMCAT
    Par Dahu dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 03/03/2005, 10h40
  5. [Plugin][MYECLIPSE]Impossible de trouver une JVM
    Par tolsam dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/08/2004, 20h46

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