Надстройка Outlook вызывает существующий элемент ленты

#c# #outlook

#c# #Outlook

Вопрос:

В настоящее время я работаю над проектом для Outlook 2019, где я хотел бы иметь простую надстройку для резервного копирования всех моих учетных записей электронной почты одним нажатием кнопки.

Вместо того, чтобы выполнять утомительную работу по щелчку:

 File -> Open amp; Export -> Import/Export ->Import and Export wizard -> Export to a file -> Outlook Data File(.pst) -> <Select Email accounts> -> <Choose output options> -> Finish
  

Это занимает довольно много времени, особенно если у вас есть несколько учетных записей электронной почты, которые вы хотите создать резервную копию.

Я уже создал проект надстройки Outlook VSTO (C #) в Microsoft Visual Studio 2019 и создал элемент ленты, который содержит кнопку для выполнения этой задачи для меня.

Единственный вопрос, который у меня есть, — как я могу вызвать всю операцию, упомянутую выше, т.е

 File -> Open amp; Export -> Import/Export ->Import and Export wizard -> Export to a file -> Outlook Data File(.pst) -> <Select Email accounts> -> <Choose output options> -> Finish
  

внутри On_Click операции моей кнопки внутри ленты, которую я создал?

Любая помощь будет принята с благодарностью.

Ответ №1:

Создайте новый PST-файл, используя Namespace. AddStore / AddStoreEx , найдите новое хранилище в Namespacce.Stores соединении (можно подумать AddStore , что оно вернет новое хранилище, но нет).

Найдите исходное хранилище в Namespace.Stores коллекции, рекурсивно перебирайте папки в Store.GetRoodFolder().Folders коллекции, для каждого сообщения в папке скопируйте его в целевую папку (вам нужно сначала создать ее с помощью Folder.Folders.Add ), используя MailItem.Copy / MailItem.Nove(TargetFolder)