是否可以在 Outlook 2007 中创建自定义后续标志?

是否可以在 Outlook 2007 中创建自定义后续标志?

标准后续标记有:“今天”、“明天”、“本周”、“下周”和“无日期”。我想为这个列表添加另一个“本月”选项。

目前,我通过使用“自定义...”后续选项并指定当前月份最后一天的开始日期/到期日期来实现相同的目的。虽然这比使用预设的后续选项花费的时间更多,但效果很好。但是,如果选择了多个项目,“自定义...”选项将被禁用,我必须单独设置每个项目。这真是浪费时间!

我查看了 Outlook 自定义设置,并在网上搜索了添加自定义后续标记的方法,但没有任何收获。有什么想法吗?

更新:Bogdan_Ch 提供的解决方案也适用于 Outlook 2010。

答案1

想法很简单——编写你自己的 VBA 宏。

这是一个可以完成工作的 VBA 代码(SetFollowupToMonthEndMacro 是可以与按钮或热键组合关联的宏)

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

没有办法通过设置或其他方式进行设置,无需 VBA 编程,因为不幸的是,在内部 Outlook 函数 MailItem.MarkAsTask(MarkInterval) 中 MarkInterval 参数只能有一个 OlMarkInterval 枚举值

olMarkNoDate 4 标记任务截止但无日期。 olMarkNextWeek 3 标记任务下周截止。 olMarkThisWeek 2 标记任务本周截止。 olMarkToday 0 标记任务今天截止。 olMarkTomorrow 1 标记任务明天截止。

所以如果内部功能有限制,UI自然也会有同样的限制。

答案2

在 Outlook 2010 中,您也可以通过“管理快速步骤”来完成此操作。还有两个在标准后续预设中不存在的操作:本月和下个月。

outlook-2010 快速步骤

相关内容