2015-08-26 18 views
0

我搜索了四处寻找从公用文件夹加载日历/联系人项目的方法。通过Outlook很简单,你可以进入公共文件夹并拖放它。我已经到了访问日历的地步,但我不知道如何通过C#将它加载到Outlook中。从公用文件夹加载日历和联系人等项目

private void AddCalendar() 
{ 
    Outlook._NameSpace session = null; 
    Outlook.MAPIFolder publicFolders = null; 
    OUtlook.MAPIFolder allPublicFolders = null; 
    Outlook.MAPIFolder seCalendar = null; 

    try 
    { 
     session = _thisApp.GetNamespace("MAPI"); 
     publicFolders = session.Folders["Public Folders"]; 
     allPublicFolders = publicFolders.Folders["All Public Folders"]; 
     seCalendar = allPublicFolders.Folders["SE Calendar"]; 
     // ???? 
     // profit 
    } 
    finally 
    { 
     //Release Items 
    } 
} 

下面是我想要做的事情的图片。您通常只是从自己的日历开始,我正在尝试加载公用文件夹中的公司日历。

enter image description here

回答

0

循环遍历MAPIFolder.Items集合中的项目。在你的特定情况下,这些项目将是AppointmentItem,ContactItem和DistListItem。

Outlook.Items items = seCalendar.Items; 
for (int i = 1; i <= items.Count; i++) 
{ 
    object item = items[i]; 
    Outlook.AppointmentItem appt = item as Outlook.AppointmentItem; 
    if (apt != null) 
    { 
    MessageBox.Show(appt.Subject); 
    Marshal.ReleaseComObject(appt); 
    } 
    Marshal.ReleaseComObject(item); 
} 
+0

我刚刚编辑我的问题。如何将AppointmentItem加载到我的日历视图中,以便它像图像一样显示? – Natzely

相关问题