#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)