Переместить календарь в другую группуC#

Место общения программистов C#
Ответить
Anonymous
 Переместить календарь в другую группу

Сообщение Anonymous »

Я создаю плагин для Outlook, используя C# VSTO.
Я пытаюсь перенести календарь со всеми данными из одной группы в другую.< /p>

Код: Выделить всё

Outlook.NameSpace mapiNamespace = Application.GetNamespace("MAPI");
Outlook.CalendarModule calendarModule = (Outlook.CalendarModule)mapiNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar).GetExplorer().NavigationPane.Modules.GetNavigationModule(Outlook.OlNavigationModuleType.olModuleCalendar);
Outlook.NavigationGroups navGroups = calendarModule.NavigationGroups;
Outlook.NavigationGroup source = null;
Outlook.NavigationGroup dest = null;
foreach (Outlook.NavigationGroup navGroup in navGroups)
{
if (navGroup.Name == "My calendars")
source = navGroup;
else if(navGroup.Name == "Shared calendars")
dest = navGroup;
}
foreach (Outlook.NavigationFolder group in source.NavigationFolders)
{
dest.NavigationFolders.Add(group);
}
Я получаю сообщение об ошибке

"Аргумент 1: невозможно преобразовать из Microsoft.Office.Interop.Outlook.NavigationFolder ' 'Microsoft.Office.Interop.Outlook.MAPIFolder'".

Если я изменю строку следующим образом,

Код: Выделить всё

dest.NavigationFolders.Add((MAPIFolder)group);
Я получаю сообщение об ошибке

"System.InvalidCastException: 'Невозможно привести COM-объект типа "System. __ComObject» для типа интерфейса «Microsoft.Office.Interop.Outlook.Outlook.Outlook.MAPIFolder»'». Операция не удалась, поскольку вызов QueryInterface компонента COM для интерфейса с IID «{00063006-0000-...-0000-C000-000000000046}» возвратил следующую ошибку: «Интерфейс не поддерживается (исключение HRESULT: 0x80004002 (E_NOINTERFACE)) .'"

Как переместить календарь со всеми данными из одной группы в другую?

Подробнее здесь: https://stackoverflow.com/questions/782 ... ther-group
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»