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

WinDev Discussion :

Récupérer emails du dossier en cours


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut Récupérer emails du dossier en cours
    Bonjour, j'essaie de récupérer les emails du dossier en cours mais j'avance peu.

    J'ai ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Déclarations des variables
    //--------------------------
     
     
    //Récupère leDossier en cours
    //----------------
    Info(ArbreSelect(AR_Dossier))
     
    //Récupère l'identifiant du dossier en cours
    //------------------------------------------
    Info(ArbreRécupèreIdentifiant(AR_Dossier,ArbreSelect(AR_Dossier)))
    Il m'affiche bien le dossier sélectionné mais il me renvoie une valeur vide lorsque je veux récupérer l'identifiant du dossier sélectionné.

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 328
    Points : 3 841
    Points
    3 841
    Par défaut
    Bonjour,

    L'arbre est rempli de quel façon ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Comme cela :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    //Déclarations des variables
    //---------------------------
    NbDossier		est un entier
    MonDossier	         est un objet Automation dynamique
    ln_Compteur 	         est un entier
    ln_PosCar 		est un entier
    ls_Temp 		est une chaîne
    //ls_NomBR   est une chaîne
     
    //Récupère la boîte de réception
    //------------------------------
    //ls_NomBR  = DossierBoiteReception>>Folderpath    //Chemin de la boîte de réception
    ln_PosCar     = Position(NomBR, "\", 0, DepuisFin)  //Se positionne sur le dernier "\" du chemin
    NomBR        = Milieu(NomBR, ln_PosCar + 1)	   //Récupère le nom du dossier boîte de réception après le "\"
     
    //Ajoute la boîte de réception
    //---------------------------
    ArbreAjoute(AR_Dossier, NomBR)
     
    NbDossier = DossierBoiteReception>>Folders>>Count	//Récupère le nombre de dossier de la boîte de réception
     
    //Liste les dossiers de la boîte de réception
    //-------------------------------------------
    POUR ln_Compteur = 1 _A_ NbDossier
    	MonDossier  = DossierBoiteReception>>Folders(ln_Compteur) //Récupère le numéro du dossier
    	ls_Temp 	= MonDossier>>Folderpat              //Récupère le chemin du dossier
    	ln_PosCar 	= Position(ls_Temp, "\", 0, DepuisFin)	//Se positionne sur le dernier "\" du chemin du dossiers
     
    	//Ajoute les dossiers de la boîte de réception
    	//-------------------------------------------------
      	ArbreAjoute(AR_Dossier, NomBR + TAB +Milieu(ls_Temp, ln_PosCar + 1),aDéfaut,ls_Temp)
    FIN
     
    ArbreDéroule(AR_Dossier,NomBR)
     
    // Affiche à l'ouverture de l'application la liste des mails de la boîte de réception
    // ------------------------------------------------------------------------------------
    PF_ListeMails(DossierBoiteReception)
    par contre, je ne récupère pas les sous-dossiers

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 328
    Points : 3 841
    Points
    3 841
    Par défaut
    ok, donc regarde bien la signature de ArbreAjoute(..) dans l'aide, il y a un paramètre pour y mettre l'identifiant.

    Pour la question Outlook, je passe la main.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Merci de votre réponse rapide ! mais les exemple me donnent que des identifiants rentrés en dur.
    Je devrais mettre quoi?

    Edit : question bête de ma part

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ArbreAjoute(AR_Dossier, NomBR + TAB +Milieu(ls_Temp, ln_PosCar + 1),aDéfaut,aDéfaut,ls_Temp)
    Je récupère bien l'identifiant

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 328
    Points : 3 841
    Points
    3 841
    Par défaut
    La question est : que veux-tu faire de l'identifiant ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    J'ai besoin de l'identifiant du dossier pour lister ses mails.

    Il a besoin du chemin complet pour associer le dossier et ses mails sinon il ne va pas être reconnu

  8. #8
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 328
    Points : 3 841
    Points
    3 841
    Par défaut
    Est-ce que l'objet Automation retourne un Id pour les dossiers ?

    Mais visiblement, seul le chemin suffit donc est-ce que tu ne pourrais pas reconstituer le chemin avec l'arborescence de la sélection dans l'arbre : je clique sur une feuille, je concatène racine+nœud+feuille ?

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Bah je récupère déjà mon chemin avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArbreRécupèreIdentifiant(AR_Dossier,ArbreSelect(AR_Dossier))

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Quand je récupère l'identifiant du dossier, j'en fais quoi?

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Xilver Voir le message
    Comme cela :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    //Déclarations des variables
    //---------------------------
    NbDossier		est un entier
    MonDossier	         est un objet Automation dynamique
    ln_Compteur 	         est un entier
    ln_PosCar 		est un entier
    ls_Temp 		est une chaîne
    //ls_NomBR   est une chaîne
     
    //Récupère la boîte de réception
    //------------------------------
    //ls_NomBR  = DossierBoiteReception>>Folderpath    //Chemin de la boîte de réception
    ln_PosCar     = Position(NomBR, "\", 0, DepuisFin)  //Se positionne sur le dernier "\" du chemin
    NomBR        = Milieu(NomBR, ln_PosCar + 1)	   //Récupère le nom du dossier boîte de réception après le "\"
     
    //Ajoute la boîte de réception
    //---------------------------
    ArbreAjoute(AR_Dossier, NomBR)
     
    NbDossier = DossierBoiteReception>>Folders>>Count	//Récupère le nombre de dossier de la boîte de réception
     
    //Liste les dossiers de la boîte de réception
    //-------------------------------------------
    POUR ln_Compteur = 1 _A_ NbDossier
    	MonDossier  = DossierBoiteReception>>Folders(ln_Compteur) //Récupère le numéro du dossier
    	ls_Temp 	= MonDossier>>Folderpat              //Récupère le chemin du dossier
    	ln_PosCar 	= Position(ls_Temp, "\", 0, DepuisFin)	//Se positionne sur le dernier "\" du chemin du dossiers
     
    	//Ajoute les dossiers de la boîte de réception
    	//-------------------------------------------------
      	ArbreAjoute(AR_Dossier, NomBR + TAB +Milieu(ls_Temp, ln_PosCar + 1),aDéfaut,ls_Temp)
    FIN
     
    ArbreDéroule(AR_Dossier,NomBR)
     
    // Affiche à l'ouverture de l'application la liste des mails de la boîte de réception
    // ------------------------------------------------------------------------------------
    PF_ListeMails(DossierBoiteReception)
    par contre, je ne récupère pas les sous-dossiers
    J'ai réussi à récupérer les sous-dossiers comme ça :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    //Déclarations des variables
    //--------------------------
    NbDossier		est un entier
    NbSousDossier		est un entier
    MonDossier		est un objet Automation dynamique
    MonSousDossier	       est un objet Automation dynamique
    
    ln_Compteur 	est un entier
    ln_PosCar 		est un entier
    ln_PosCar2 		est un entier
    ls_Temp 		est une chaîne
    ls_CheminSub	est une chaîne
    
    //Récupère la boîte de réception
    //------------------------------
    ln_PosCar 		= Position(NomBR, "\", 0, DepuisFin) 	 		//Se positionne sur le dernier "\" du chemin
    NomBR 	 		= Milieu(NomBR, ln_PosCar + 1)					//Récupère le nom du dossier boîte de réception après le "\"
    
    //Ajoute la boîte de réception
    //---------------------------
    ArbreAjoute(AR_Dossier, NomBR)
    
    //Liste les dossiers de la boîte de réception
    //-------------------------------------------
    NbDossier 		 = DossierBoiteReception>>Folders>>Count	 	//Récupère le nombre de dossier de la boîte de réception
    
    POUR ln_Compteur = 1 _A_ NbDossier
    	MonDossier 	 = DossierBoiteReception>>Folders(ln_Compteur)	//Récupère le numéro du dossier
    	ls_Temp 	 = MonDossier>>Folderpath 						//Récupère le chemin du dossier
    	ln_PosCar 	 = Position(ls_Temp, "\", 0, DepuisFin)			//Se positionne sur le dernier "\" du chemin du dossier
    
    	//Ajoute les dossiers de la boîte de réception
    	//--------------------------------------------
      	ArbreAjoute(AR_Dossier, NomBR + TAB +Milieu(ls_Temp, ln_PosCar + 1) ,aDéfaut,aDéfaut,ls_Temp)
      	
      	//Liste les sous-dossiers
      	//-----------------------
      	NbSousDossier		= MonDossier>>Folders>>Count 				//Récupère le nombre de sous-dossier pour chaque dossier
      	//trace(NbSousDossier)
      	
      	POUR i = 1 _A_ NbSousDossier
     		MonSousDossier	= MonDossier>>Folders(i)					//Récupère le numéro du sous-dossier
     		ls_CheminSub	= MonSousDossier>>FolderPath				//Récupère le chemin du sous-dossier
     		ln_PosCar2 	 	= Position(ls_CheminSub, "\", 0, DepuisFin)	//Se positionne sur le dernier "\" du chemin du sous-dossier
      		
      		//trace(ls_CheminSub)
      		
    		//Ajoute les sous-dossiers s'il en existe
    		//---------------------------------------
    		
      		ArbreAjoute(AR_Dossier,NomBR + TAB + Milieu(ls_Temp, ln_PosCar + 1) + TAB +Milieu(ls_CheminSub, ln_PosCar2 + 1) ,aDéfaut,aDéfaut,ls_CheminSub,aAccepteDoublon)
      	FIN
    FIN
    
    	ArbreDéroule(AR_Dossier,NomBR)
    	
    
    //Affiche à l'ouverture de l'application la liste des mails de la boîte de réception
    //----------------------------------------------------------------------------------
    PF_ListeMails(DossierBoiteReception)
    Cependant j'ai un sous-dossier d'un sous-dossier donc à mon avis je dois appeler ma procédure mais j'ai l'impression qu'il manque quelque chose dedans..

    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
    PROCEDURE PF_ListeDossier(mySubFolders) 
     
    //Déclarations des variables
    //--------------------------
    i			est un entier 
    leDossier 	est un objet Automation dynamique
    leChemin 	est une chaîne
     
    	//Recherche la liste des dossiers
       	//-------------------------------
    	POUR i = 1 _A_ mySubFolders>>Folders>>Count
    		leDossier	=	mySubFolders>>Folders(i)
    		leChemin	=	leDossier>>FolderPath
    		//Trace(leChemin)
    		 //Appel Récursif pour les sous-dossiers
    		 //-------------------------------------
    		PF_ListeDossier(mySubFolders>>Folders(i))
    	FIN
     
    RENVOYER mySubFolders

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Si quelqu'un peut m'aider pour récupérer les mails lorsque je change de dossier car là je ne vois pas du tout comment faire...

    Après avoir récupéré l'identifiant, je suis bloqué

  13. #13
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    hello,
    à un de mes messages tu as repondu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Merci, mais ça ne m'aide pas plus finalement
    mais tu ne m'as pas dit pourquoi. As-tu réellement essayé ce que je te proposais ?
    Je te laisse retrouver ce message
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Oui, mais le code donné est pour la boîte de réception. J'ai essayé d'adapter le code avec la propriété SearchSubFolders mais sans succès

  15. #15
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    hello,
    je ne vois toujours pas où est le problème avec AdvancedSearch

    J'ai par exemple un dossier de courrier qui se trouve dans Outlook sous l'arborescence : \\Dossiers personnels\NewFolder1\NewFolder2 :
    Nom : outlook-1.png
Affichages : 809
Taille : 35,2 Ko

    Dans ce dossier j'ai un message et un sous-dossier (NewFolder3) avec un message dedans.
    Avec ce code :
    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
    // Recherche des sous-dossiers d'un dossier OUTLOOK
    objApp est un objet Automation dynamique //outlook.application
    objNS est un objet Automation dynamique //namespace
    olStartFolder est un objet Automation dynamique
    objApp=ObjetActif("OutLook.Application")
    SI objApp = Null ALORS
    	// On lance OutLook
    	objApp = allouer un objet Automation "Outlook.Application"
    FIN
    // on branche la procédure FinRecherche sur l'événement AdvancedSearchComplete
    AutomationEvénement(FinRecherche,objApp,"AdvancedSearchComplete")
    FinDeRecherche = Faux
    objSearch est un objet Automation dynamique
    MonFiltre est une chaîne = "urn:schemas:httpmail:subject LIKE '%" + "test" + "%'"
    // recherche simple de  dossier, pas de filtre,avec les sous-dossiers
    objSearch = objApp>>AdvancedSearch("'\\Dossiers personnels\NewFolder1\NewFolder2'","",Vrai,"RechercheXilver")
    // on attend que la recherche se termine
    TANTQUE PAS FinDeRecherche 
    	Multitâche(-10)	
    FIN
    // on balaie tous les résultats et on affiche le sujet des courriers trouvés
    POUR i = 1 _A_  objSearch>>Results>>Count 	
    	Trace( "sujet  " + i + " : " + objSearch>>Results>>Item(i)>>Subject )	
    FIN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCEDURE FinRecherche()
    Trace("Fin de Recherche")
    FinDeRecherche = Vrai
    j'affiche bien le sujet des deux messages :

    Nom : outlook-2.png
Affichages : 667
Taille : 5,0 Ko

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Toujours au top !

    Du coup :

    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
    //Déclarations desz variables
    //---------------------------
    ls_MonFiltre 	est une chaîne
    ls_Dossier		est une chaîne
     
    // on branche la procédure FinRecherche sur l'événement AdvancedSearchComplete
    //----------------------------------------------------------------------------
    ls_Dossier		= ArbreRécupèreIdentifiant(AR_Dossier,ArbreSelect(AR_Dossier,Vrai))
     
    AutomationEvénement(PG_FinRecherche,ObjOutlook,"AdvancedSearchComplete")
     
    FinDeRecherche 	= Faux
    ls_MonFiltre 	= "urn:schemas:httpmail:subject"
     
    // recherche simple de  dossier, pas de filtre,avec les sous-dossiers
    ObjRecherche = ObjOutlook>>AdvancedSearch("'" +ls_Dossier+"'")
     
    // on attend que la recherche se termine
    TANTQUE PAS FinDeRecherche 
    	Multitâche(-10)	
    FIN
     
    // on balaie tous les résultats et on affiche le sujet des courriers trouvés
    POUR i = 1 _A_  ObjRecherche>>Results>>Count 	
    	Trace( "sujet  " + i + " : " + ObjRecherche>>Results>>Item(i)>>Subject )	
    FIN
    Je récupère l'identifiant de l'élément sélectionné dans l'arbre et je fais une recherche dedans

    Je n'ai plus qu'à appeler ma procedure ListeMails et faire en sorte que ça fonctionne !

    Edit : Après quelques tests, l'appel de ma procédure ListeMails ne fonctionne pas :

    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
    27
    28
    29
    30
    31
    32
    /Déclarations des variables
    //--------------------------
    ls_Dossier			est une chaîne
    DossierEnCours		est un objet Automation dynamique
     
    // On récupère l'identifiant du dossier en cours
    //----------------------------------------------
    ls_Dossier			= ArbreRécupèreIdentifiant(AR_Dossier,ArbreSelect(AR_Dossier))
     
    // On branche la procédure FinRecherche sur l'événement AdvancedSearchComplete
    //----------------------------------------------------------------------------
    AutomationEvénement(PG_FinRecherche,ObjOutlook,"AdvancedSearchComplete")
     
    FinDeRecherche 		= Faux
     
    // On recherche dans le dossier en cours
    //--------------------------------------
    DossierEnCours 		= ObjOutlook>>AdvancedSearch("'" + ls_Dossier +"'")
     
    // On attend que la recherche se termine
    //--------------------------------------
    TANTQUE PAS FinDeRecherche 
    	Multitâche(-10)	
    FIN
     
    POUR i = 1 _A_ DossierEnCours>>Results>>Count
    	Trace(DossierEnCours>>Results>>Item(i)>>Subject)
    FIN
     
    // On affiche la liste des mails du dossier en cours
    //--------------------------------------------------
    PF_ListeMails(DossierEnCours)
    Alors que le trace fonctionne très bien.

    Ma procédure listeMails :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    PROCEDURE PF_ListeMails(PA_DossierEnCours)
     
    //Déclarations des variables
    //--------------------------
    ln_ligneMail 		est un entier
    le_NbDest 			est entier
    ls_AdrDest 			est une chaîne
    i 					est un entier
    j 					est un entier
    lesPJ 				est un entier
    DateHeure 			est une DateHeure
    DateReception 		est une Date
    MyAttachments 		est un objet OLE dynamique
     
    //Mappe à l’adresse SMTP du destinataire
    //--------------------------------------
    PR_SMTP_ADDRESS 	est une chaîne = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
     
    // Ouvre la fenêtre de chargement
    // ------------------------------
    OuvreSoeur(FS_Patience)
     
    // Vide la liste des mails
    // -----------------------
    TableSupprimeTout(TB_Mails)
     
    	//On recherche tous les éléments du dossier en cours 
    	// -------------------------------------------------
    	POUR i = 1 _A_ PA_DossierEnCours>>Items>>Count
     
    		//On récupère l'objet mail
    		//------------------------
    		MailItem 	  = PA_DossierEnCours>>Items(i)
     
    		ln_ligneMail  = TableAjouteLigne(TB_Mails)
     
    		DateHeure 	  = MailItem>>ReceivedTime
    		DateReception = DateHeure..Date
     
    		//On affecte les lignes
    		//---------------------
    		TB_Mails.CT_ID			[ln_ligneMail] 	= MailItem>>EntryId
    		TB_Mails.CT_Expéditeur	[ln_ligneMail] 	= PG_GetSenderSmtpAddress(MailItem) 
    		TB_Mails.CT_Sujet		[ln_ligneMail] 	= MailItem>>subject 	
    		TB_Mails.CT_Date		[ln_ligneMail] 	= DateReception 
    		TB_Mails.CT_Texte		[ln_ligneMail]  = MailItem>>HTMLBody 
     
    		//On extrait l'adresse mail des Destinataires
    		//-------------------------------------------
    		le_NbDest 		= MailItem>>recipients>>Count
     
    		POUR j	= 1 A le_NbDest
     
    			ls_AdrDest 	= PG_ExtraitAdresseEmail(MailItem>>recipients(j)>>Address)
     
    				QUAND EXCEPTION DANS
    					SI Position(ls_AdrDest, "@") < 1 ALORS                    
    						ls_AdrDest = MailItem>>recipients(j)>>PropertyAccessor>>GetProperty(PR_SMTP_ADDRESS)
    					FIN      
    				FAIRE 
    				FIN                         
     
    			//On Récupère les types de destinataires avec leur adresse mail
    			//------------------------------------------------------------- 
    			SELON MailItem>>recipients(j)>>Type
    				CAS 1                     
    					TB_Mails.CT_Destinataire[ln_ligneMail]	+= ls_AdrDest + ";"
    				CAS 2 
    					TB_Mails.CT_Cc			[ln_ligneMail]	+= ls_AdrDest + ";"
    				CAS 3                    
    					TB_Mails.CT_Cci			[ln_ligneMail]	+= ls_AdrDest + ";"
    			FIN                   
    		FIN	
     
    		//On récupére les pièces jointes de l'Email
    		//-----------------------------------------
    		MyAttachments = MailItem>>Attachments
     
    		POUR lesPJ	= 1 _A_ MyAttachments>>Count
     
    			TB_Mails.CT_PJ	[ln_ligneMail] 	+= MyAttachments>>Item(lesPJ)>>FileName + ";" + RC	
    		FIN
    	FIN 
     
    //Sélection de la 1ère ligne de la table et affichage du contenu du message dans la zone du bas
    //---------------------------------------------------------------------------------------------
    SI TB_Mails..Occurrence <> 0 ALORS
    	TableSelectPlus(TB_Mails,1)	
    	ExécuteTraitement(TB_Mails,trtSélection)
    FIN
     
    //Ferme la fenêtre de chargement
    //------------------------------
    Ferme(FS_Patience)
    Il m'affiche l'erreur : Erreur à la ligne 44 du traitement Procédure locale PF_ListeMails.
    Vous accédez au membre Automation Items.
    Erreur 80020006, Nom inconnu

    ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    POUR i = 1 _A_ PA_DossierEnCours>>Items>>Count

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Je sais pas si cela est normal, mais lorsque je trace le chemin du dossier sélectionné, il me renvoie une chaine vide quand je suis positionné sur la boîte de réception

Discussions similaires

  1. [PPT-2007] récupérer numéro de diapositive en cours de diffusion
    Par cboucher dans le forum Powerpoint
    Réponses: 1
    Dernier message: 02/05/2010, 20h00
  2. Réponses: 4
    Dernier message: 12/11/2008, 00h18
  3. Récupérer les sous-dossiers d'une URL
    Par _56ka dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 23/12/2007, 02h56
  4. Récupérer email avec JavaMail API
    Par petitavion414 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 27/07/2007, 16h02
  5. [2.0] Récupérer Email d'outlook
    Par fix105 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 19/01/2007, 08h45

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