Надстройка для Outlook C Sharp: пока задается вопрос - PullRequest
0 голосов
/ 18 августа 2011

Я пишу небольшую надстройку для Outlook, которая будет проверять мою электронную почту каждые x минут и обрабатывать сообщения.Это моя первая надстройка, поэтому я немного не уверен в порядке событий во время выполнения, но проблема, с которой я столкнулся, заключается в том, что я использую цикл while со спальным местом в событии загрузки надстройки, что приводит кникогда полностью не открываться.

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    while (true)
    {
        CheckMail();
        System.Threading.Thread.Sleep(100000);
    }
}

Есть ли способ полностью открыть Outlook перед выполнением этого цикла?

1 Ответ

2 голосов
/ 18 августа 2011

Вы можете попробовать повесить его на напоминание, а не спать.Для этого создайте напоминание.При запуске этот код будет вызван.Затем вы можете добавить туда CheckMail();.Это в VBA, поэтому вам придется конвертировать его.

Private Const REMINDER_SUBJECT As String = "CHECKEMAILREMINDER"

Private Sub Application_Reminder(ByVal Item As Object)
  Dim oTask As Outlook.TaskItem
    If TypeOf Item Is Outlook.TaskItem Then
        Set oTask = Item

        If oTask.Subject = REMINDER_SUBJECT Then

            oTask.ReminderTime = DateAdd("m", 1, Now)
            oTask.Save

        End If
    End If
End Sub

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

...