.NET: Получите все объекты Календаря Outlook

Я забыл добавить драйвер JDBC PostgreSQL в проект Mvnrepository .

Gradle:

// http://mvnrepository.com/artifact/postgresql/postgresql
compile group: 'postgresql', name: 'postgresql', version: '9.0-801.jdbc4'

Maven:


    postgresql
    postgresql
    9.0-801.jdbc4

Вы также можете загрузить JAR и импортировать в свой проект вручную.

30
задан Ether 10 October 2009 в 04:35
поделиться

3 ответа

Я полагаю, что необходимо Ограничить или Найти для получения повторяющихся назначений, иначе Outlook не развернет их. Кроме того, необходимо Отсортировать по Запуску прежде установка IncludeRecurrences.

14
ответ дан Mark Brackett 27 November 2019 в 23:46
поделиться

Я изучил документы, и это - мой результат: я поместил ограничение по времени одного трудно кодированного месяца, но это - просто пример.

public void GetAllCalendarItems()
{
    Microsoft.Office.Interop.Outlook.Application oApp = null;
    Microsoft.Office.Interop.Outlook.NameSpace mapiNamespace = null;
    Microsoft.Office.Interop.Outlook.MAPIFolder CalendarFolder = null;
    Microsoft.Office.Interop.Outlook.Items outlookCalendarItems = null;

    oApp = new Microsoft.Office.Interop.Outlook.Application();
    mapiNamespace = oApp.GetNamespace("MAPI"); ;
    CalendarFolder = mapiNamespace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar);
    outlookCalendarItems = CalendarFolder.Items;
    outlookCalendarItems.IncludeRecurrences = true;

    foreach (Microsoft.Office.Interop.Outlook.AppointmentItem item in outlookCalendarItems)
    {
        if (item.IsRecurring)
        {
            Microsoft.Office.Interop.Outlook.RecurrencePattern rp = item.GetRecurrencePattern();
            DateTime first = new DateTime(2008, 8, 31, item.Start.Hour, item.Start.Minute, 0);
            DateTime last = new DateTime(2008, 10, 1);
            Microsoft.Office.Interop.Outlook.AppointmentItem recur = null;



            for (DateTime cur = first; cur <= last; cur = cur.AddDays(1))
            {
                try
                {
                    recur = rp.GetOccurrence(cur);
                    MessageBox.Show(recur.Subject + " -> " + cur.ToLongDateString());
                }
                catch
                { }
            }
        }
        else
        {
            MessageBox.Show(item.Subject + " -> " + item.Start.ToLongDateString());
        }
    }

}
33
ответ дан MetaColon 27 November 2019 в 23:46
поделиться
calendarFolder = 
    mapiNamespace.GetDefaultFolder(
        Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar);
-3
ответ дан 27 November 2019 в 23:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: