J'essaie d'obtenir la liste des dossiers et sous-dossiers dans une boîte aux lettres partagée dans Outlook. Utiliser le mode Exchange mis en cache et Télécharger les dossiers partagés ont été cochés. Les dossiers comportent jusqu'à 3 niveaux: Boîte de réception => Société => Société ABC. Voici mon code.C# Outlook Boîte aux lettres partagée obtenir des sous-dossiers par intermittent
myApp = new Microsoft.Office.Interop.Outlook.Application();
ns = myApp.Session;
stores = ns.Stores;
for (int i = 1; i <= stores.Count; i++)
{
var _store = stores[i];
if (_store.DisplayName.ToLower().Contains(displayName.ToLower()))
{
store = _store;
break;
}
}
rootFolder = store.GetRootFolder();
folders = rootFolder.Folders;
for (int i = 1; i < folders.Count; i++)
{
mainfolder = (Microsoft.Office.Interop.Outlook.MAPIFolder)folders[i];
if (mainfolder != null)
{
if (mainfolder.Name.Trim().ToLower() == mainfolderName.Trim().ToLower())
{
foreach (Microsoft.Office.Interop.Outlook.MAPIFolder f in mainfolder.Folders)
{
if (f.Name.Trim().ToLower() == folderName.Trim().ToLower())
{
folder = f;
if (subFolderName != "")
{
foreach (Microsoft.Office.Interop.Outlook.MAPIFolder sub in f.Folders)
{
if (sub.Name.Trim().ToLower() == subFolderName.Trim().ToLower())
{
subfolder = sub;
break;
}
}
}
break;
}
}
break;
}
}
}
Obtenir avec succès le premier niveau - Boîte de réception, Brouillons, Archives, spam, etc. Mais il n'a pas toujours obtenir le deuxième niveau, mainfolder.Folders.Count retourne 0. Y at-il quelque chose que je manqué? Je vous remercie.
Pouvez-vous réellement voir ces dossiers dans Outlook? Avez-vous essayé de désactiver le mode caché? –
Oui, je peux voir ces dossiers dans mon Outlook. La désactivation du mode mis en cache empêche Outlook de répondre et n'est pas possible selon notre équipe informatique. Je n'arrive pas à comprendre pourquoi ça marche parfois et parfois non. Est-ce que cela a à voir avec la connexion Internet? – rjs123431