遍历Outlook收件人

时间:2018-09-20 12:05:06

标签: c# outlook

我正在尝试浏览Outlook收件人的共享日历,并希望获得一些建议。我从ini文件中获得了收件人的名字,并将它们放入字符串中。

但是当我尝试遍历收件人时,它给了我一个错误。您能建议我如何添加Outlook收件人并循环浏览吗?

string CalendarName = iniFile.GetValue("Appointmentdays", "Calendarname");
List<string> names = CalendarName.Split(',').Reverse().ToList();
foreach (var name in names)
{
    //Create Recipient
    Outlook.Recipient recip =  oApp.Session.CreateRecipient(name);
    Outlook.MAPIFolder CalendarFolder = oNS.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderCalendar);
    String oCalendarName = CalendarFolder.Name;
    String oCalendarEntryID = CalendarFolder.EntryID;
}

2 个答案:

答案 0 :(得分:0)

如果Outlook尚未运行,则T将为null,直到您显式登录或执行使Outlook登录的操作为止。如果Outlook已经在运行,则Application.Session将执行什么都没有。

将代码更改为

Namespacee.Logon

答案 1 :(得分:0)

埃里克·大卫

您可以使用以下代码来确保您具有有效的Application对象。

 Outlook.Application app;
            try
            {
                app = (Outlook.Application)Marshal.GetActiveObject("Outlook.Application");
            }
            catch
            {
                app = new Outlook.Application();
            }

            if (app == null)
            {
                return;
            }

此外,name参数应该有效。

请参见以下链接:CreateRecipient