2017-01-20 2 views
0

У меня есть объект Outlook.AddressList, содержащий контакты, которые я хочу программно скопировать на новый объект Outlook.Folder.Скопировать объект Outlook.AddressList в новую папку контактов (Outlook.Folder)

Я пробовал нижеследующее, но на самом деле он ничего не сохраняет в папке.

string myFolderPath = Application.Session.DefaultStore.GetRootFolder().FolderPath + @"\Contacts\SOME FOLDER NAME"  
for (int i = 0; i < myAddressList.AddressEntries.Count; i++) 
    { 
     Outlook.AddressEntry addrEntry = myAddressList.AddressEntries[i]; 
     Outlook.ContactItem contact = addrEntry.GetContact(); 
     contact.SaveAs(myFolderPath, Outlook.OlItemType.olContactItem); 
    } 

ответ

0

SaveAs принять перечисление типа OlSaveAsType, не OlItemType. Вызовите ContactItem.Copy (он вернет новую копию элемента), затем вызовите Move на этом новом элементе.

+0

Совершенно спасибо. Знаете ли вы, есть ли способ более эффективно сохранить большой объект AddressList, чем цикл через его AddressEntry? –

+0

Нет, по одному - это единственный способ. –

+0

Кроме того, ваш код предполагает, что список адресов основан на папке «Контакты». Это не относится к другим контейнерам, таким как GAL. –

Смежные вопросы