Pregunta

Estoy intentando escribir código C# para acceder a una carpeta específica en un buzón de Outlook.Tengo el siguiente código:

Outlook.Application oApp = new Outlook.Application();
Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
Outlook.Recipient oRecip = oNS.CreateRecipient("AccountNameHere");
oRecip.Resolve();
if (oRecip.Resolved)
{
  oInbox = oNS.GetSharedDefaultFolder(oRecip, Outlook.OlDefaultFolders.olFolderInbox);
  oInboxMsgs = oInbox.Items;
  ItemCount = oInboxMsgs.Count;
  Console.Writeline("There are {0] items.", ItemCount.ToString())
}

Esto me llevará a la carpeta "Bandeja de entrada".Estoy intentando acceder a una carpeta al mismo nivel que la carpeta Bandeja de entrada.Creo que necesito usar GetFolderFromID en lugar de GetSharedDefaultFolder, pero no entiendo cómo usarlo.¿Hay alguna manera de recorrer todas las carpetas de nivel superior?¿Cómo puedo determinar el EntryID y el StoreID de la carpeta?

¡Gracias!

¿Fue útil?

Solución

Puede utilizar el miembro de la colección Carpetas del objeto Outlook.NameSpace.De esa manera puedes recorrer la colección y encontrar tu carpeta por su nombre.En caso de que aún desee utilizar GetFolderFromID, puede utilizar OutlookSpy herramienta para obtener los valores EntryID y StoreID.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top