Bonjour,
J'ai trouvé un code qui permet de déplacer un mail sélectionné vers un dossier choisi (outlook). Cela fonctionne, mais lorsque j'exécute le code puis que je sélectionne n'importe quel mail, il est déplacé dans le dossier "2019". J'aimerais que le processus ne s'active que pour le premier mail sélectionné. Quelqu'un sait si cela est possible ?
Voici mon 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
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 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; using Outlook = Microsoft.Office.Interop.Outlook; using Office = Microsoft.Office.Core; using System.IO; using Microsoft.Office.Interop.Outlook; namespace deplacermail { public partial class ThisAddIn { private Explorer currentExplorer; private void ThisAddIn_Startup(object sender, System.EventArgs e) { currentExplorer = this.Application.ActiveExplorer(); currentExplorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHandler(CurrentExplorer_Event); } private void ThisAddIn_Shutdown(object sender, System.EventArgs e) { // Remarque*: Outlook ne déclenche plus cet événement. Si du code // doit s'exécuter à la fermeture d'Outlook (consultez https://go.microsoft.com/fwlink/?LinkId=506785) } public void CurrentExplorer_Event() { Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application.ActiveExplorer().Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); //sélectionne la boîte de réception Outlook.MAPIFolder selectedFolder = this.Application.ActiveExplorer().CurrentFolder; // dossier sélectionné -> inutile? string path = selectedFolder.FolderPath; Outlook.MAPIFolder destFolder = inBox.Folders["2019"]; // Dossier où l'on veut déplacer le mail if (this.Application.ActiveExplorer().Selection.Count > 0) { Object selObject = this.Application.ActiveExplorer().Selection[1]; // mail sélectionné Outlook.MailItem moveMail = null; //initialisation if (selObject is Outlook.MailItem) { moveMail = selObject as Outlook.MailItem; moveMail.Move(destFolder); // Les mails sont déplacés dans le dossier choisi } } } #region Code généré par VSTO /// <summary> /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas /// le contenu de cette méthode avec l'éditeur de code. /// </summary> private void InternalStartup() { this.Startup += new System.EventHandler(ThisAddIn_Startup); this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown); } #endregion } }
Partager