É possível criar sinalizadores de acompanhamento personalizados no Outlook 2007?

6

Os sinalizadores padrão de acompanhamento são: "Today", "Tomorrow", "This Week", "Próxima semana" e "Sem data". Gostaria de adicionar outra opção a esta lista para "Este mês".

Atualmente, realizo a mesma coisa usando a opção de acompanhamento "Personalizado ..." e especificando uma data de início / vencimento que é o último dia do mês atual. Isso funciona bem, embora leve mais tempo do que usar uma das opções de acompanhamento predefinidas. No entanto, se mais de um item for selecionado, a opção "Personalizar ..." estará desativada e eu tenho que definir cada um individualmente. Isso é uma tremenda perda de tempo!

Analisei as configurações de personalização do Outlook e procurei na Web uma maneira de adicionar sinalizadores de acompanhamento personalizados sem qualquer sorte. Alguma idéia?

Atualização: A solução fornecida por Bogdan_Ch também funciona no Outlook 2010.

    
por dcharles 03.08.2009 / 22:54

2 respostas

3

A ideia é simples - escreva a sua própria macro VBA.

Aqui está um código VBA que fará o trabalho (SetFollowupToMonthEndMacro são as macros que você pode associar a um botão ou a uma combinação de teclas de atalho)

Sub SetFollowupToMonthEndMacro()

    Dim sel As Outlook.selection
    Set sel = Application.ActiveExplorer.selection

    Dim item As Object
    Dim i As Integer

    For i = 1 To sel.Count
         Set item = sel.item(i)
         If item.Class = olMail Then
                Dim mail As MailItem
                Set mail = item
                mail.MarkAsTask (olMarkNoDate)
                mail.TaskStartDate = SetLastDate(Now)
                mail.Save
         End If

    Next i


End Sub


Private Function SetLastDate(pDate As Date) As Date
 Dim iDay As Integer
 iDay = Day(pDate)
 Dim iLastDay As Integer
 Select Case Month(pDate)
  Case 1, 3, 5, 7, 8, 10, 12
   iLastDay = 31
  Case 4, 6, 9, 11
   iLastDay = 30
  Case 2
   If (Year(pDate) Mod 4) = 0 Then
    iLastDay = 29
   Else
    iLastDay = 28
   End If
 End Select

 SetLastDate = DateAdd("d", iLastDay - iDay, pDate)

End Function

Não há como configurar isso de configurações ou de outra forma, sem programação VBA, porque, infelizmente, na função interna do Outlook MailItem.MarkAsTask (MarkInterval) O parâmetro MarkInterval pode ter apenas um dos valores de Enumeração OlMarkInterval

olMarkNoDate 4 Marque a tarefa devido sem data. olMarkNextWeek 3 Marque a tarefa prevista para a próxima semana. olMarkThisWeek 2 Marque a tarefa prevista para esta semana. olMarkToday 0 Marque a tarefa devido hoje. olMarkTomorrow 1 Marque a tarefa para amanhã.

Portanto, se a função interna tiver a limitação, a UI terá naturalmente a mesma limitação também.

    
por 04.08.2009 / 13:00
0

No Outlook 2010, você também pode realizá-lo através de "Gerenciar Etapas Rápidas". Existem mais duas ações que não existem nas predefinições padrão de acompanhamento: Este mês & Próximo Mês.

outlook-2010-quick-steps

    
por 03.02.2013 / 14:11