我正在尝试浏览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;
}
答案 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