/ / c #, Microsoft.Office.Interop.Outlook, папка, що не використовується за замовчуванням - c #, outlook

c #, Microsoft.Office.Interop.Outlook, non default-folder - c #, Outlook

Мені потрібен підрахунок, перегляд, редагування елементів календаря, що не використовується за замовчуванням, але у мене є проблема з доступом до нього.

Як отримати доступ до календаря, що не використовується за замовчуванням, в c # (для Outlook.MAPIFolder)? будь ласка

Після створення нового календаря "Adhésion" у "xxx@outlook.fr". Я хотів би отримати доступ до нього в додатку c #.

Це правильний спосіб?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace ACC_adhérents
{
class Program
{
static void Main(string[] args)
{
Outlook.Application app = new Outlook.Application();

Outlook.NameSpace ns = app.GetNamespace("mapi");

ns.Logon("xxxx@outlook.fr", Missing.Value, true, true);

Outlook.MAPIFolder inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
Outlook.MAPIFolder parentFolder = inboxFolder.Parent;
Outlook.MAPIFolder adhesionFolder = parentFolder.Folders["Tâches - Adhésion"];

Console.WriteLine("Folder Name: {0}, EntryId: {1}", adhesionFolder.Name, adhesionFolder.EntryID);
Console.WriteLine("Num Items: {0}", adhesionFolder.Items.Count.ToString());

ns.Logoff();
}
}
}

Відповіді:

0 для відповіді № 1

Якщо папка вже відкрита в Outlook, почнітьза допомогою колекції ns.Folders (повертає папки верхнього рівня всіх магазинів у профілі) та перегляньте потрібну папку. Ви також можете скористатися колекцією Namespace.Stores, щоб дістатися до потрібного вторинного магазину, а потім скористатися Store.GetDefaultFolder (для папок за замовчуванням) або Store.GetRootFolder для того, щоб нанести верхній кормовий магазин.