2009-03-20 3 views
2

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

Например, пользователь имеет категорию «Место проведения» и категорию «Вне сайта». Он хочет, чтобы время напоминания автоматически переключилось на 15 минут на встречу на сайте и 30 минут для внеочередного собрания. Он понимает, что если он устанавливает категорию неправильно или применяет обе категории, время не изменится правильно.

Можно ли это сделать, и если да, то как это сделать? Я предполагаю, что есть событие, которое я могу поймать и обработать, когда изменится категория назначения.

Спасибо

EDIT: Запросы назначения принимаются по электронной почте, он устанавливает категории, когда он принимает запрос на собрание. Время напоминания должно быть установлено при изменении категории. Как подключиться к событию - это та часть, которую я не могу найти.

+0

К категории, вы имеете в виду в Лейбл выпадающего списка (т.е. отпуск, личные, и т. д.) или вы имеете в виду «Показывать время как» (т. е. предварительный, занятый, вне офиса)? Я считаю, что трудно получить ярлык (отпуск или что-то еще), где Show Time As относительно просто ... –

+0

По категории он означает «ярлык». Атрибут, который вы получаете, щелкнув правой кнопкой мыши по назначению и выбрав категорию – shimonyk

ответ

0

Когда именно происходит изменение времени напоминания? Когда вы изначально составляете собрание? Всякий раз, когда категории изменяются?

(например, если пользователь уже установлен значение для напоминания, а затем изменил категорию, будет ли изменение напоминания?)

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

0

Вы хотите ItemAdd и ItemChange

http://msdn.microsoft.com/en-us/library/office/ff869609(v=office.14).aspx

http://msdn.microsoft.com/en-us/library/office/ff865866(v=office.14).aspx

Что-то вроде этого:

Public Sub Application_Startup() 
    Set objCalendar = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items 
End Sub 

Private Sub objCalendar_ItemAdd(ByVal Item As Object) 
    setReminder Item 
End Sub 

Private Sub objCalendar_ItemChange(ByVal Item As Object) 
    setReminder Item 
End Sub 

Sub setReminder(ByVal Item As Object) 
    If InStr(Item.Categories, "A") 
     ' Set the reminder time A 
     GoTo exitRoutine ' A the longer takes priority over B the shorter 
    End If 

    If InStr(Item.Categories, "B") 
     ' Set the reminder time B 
    End If 

exitRoutine: 

End Sub