FIG 1 - Outlook Store |
In questo articolo verrà mostrato come, utilizzando C#, è possibile ottenere l'elenco dei file PST connessi ad Outlook.
Per poter interagire con gli oggetti di Outlook è necessario utilizzare, all'interno della nostra applicazione, il namespace Microsoft.Office.Interop.Outlook.
Una volta aggiunti i riferimenti a Microsoft.Office.Interop.Outlook, la prima operazione da effettuare è quella di creare un oggetto Outlook Application.
Outlook.Application olApp = new Outlook.Application();
Tale oggetto può essere utilizzato per diversi scopi, noi lo useremo per accedere agli altri oggetti di Outlook sottostanti.
Il nostro obiettivo è quello di accedere agli Store. Tale operazione è possibile attraverso l'oggetto NameSpace che contiene la sessione di collegamento ad Outlook
Outlook.NameSpace olNs=olApp.Session; Outlook.Stores olStores=olNs.Stores;
A questo punto in olStores abbiamo tutti gli Store del profilo Outlook. Attraverso un ciclo For andiamo ad analizzare ciascun Store e verificare se si tratta di un file di dati (olStore.IsDataFileStore) e se la sua estensione è .PST (olStore.FilePath.ToString().ToUpper().EndsWith(".PST"). In caso affermativo il nome del file, comprensivo di path, verrà accodato ad una variabile stringa (pstList) che, al termine, conterrà l'elenco di tutti i file PST connessi ad Outlook.
for (int i = 1; i <= olStores.Count; i++){ olStore=olStores[i]; if(olStore.IsDataFileStore){ //se si tratta di un file di dati if ((olStore.FilePath.ToString().ToUpper().EndsWith(".PST")) ){ count++; pstList += String.Format("{0}. {1}{2}",count,olStore.FilePath,Environment.NewLine); } } if (olStore !=null) Marshal.ReleaseComObject(olStore); }
Alla fine non resta che chiudere le sessioni e rilasciare gli oggetti.
if (olStores !=null) Marshal.ReleaseComObject(olStores); if (olStore !=null) Marshal.ReleaseComObject(olStore); if (olApp !=null) Marshal.ReleaseComObject(olApp); if (olNs != null) Marshal.ReleaseComObject(olNs);Per chi vuole può scaricare il codice sorgente dell'esempio dal seguente link.
DOWNLOAD