dch*_*les 8 windows microsoft-outlook
标准的后续标志是:“今天”、“明天”、“本周”、“下周”和“无日期”。我想在此列表中为“本月”添加另一个选项。
目前,我通过使用“自定义...”跟进选项并指定一个开始日期/截止日期(即当月的最后一天)来完成同样的事情。虽然它比使用预设的后续选项之一花费更多时间,但效果很好。但是,如果选择了多个项目,“自定义...”选项将被禁用,我必须单独设置每个项目。这是极大的浪费时间!
我查看了 Outlook 自定义设置并在网上搜索了一种添加自定义后续标志的方法,但没有任何运气。有任何想法吗?
更新: Bogdan_Ch 提供的解决方案也适用于 Outlook 2010。
小智 3
想法很简单 - 编写您自己的 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
Run Code Online (Sandbox Code Playgroud)
如果没有 VBA 编程,则无法从设置或其他方式进行设置,因为不幸的是,在内部 Outlook 函数 MailItem.MarkAsTask(MarkInterval) MarkInterval 参数中只能有 OlMarkInterval 枚举值之一
olMarkNoDate 4 将任务标记为到期但不指定日期。olMarkNextWeek 3 标记下周到期的任务。olMarkThisWeek 2 标记本周到期的任务。olMarkToday 0 标记今天到期的任务。olMarkTomorrow 1 标记明天到期的任务。
所以如果内部功能有限制,UI自然也会有同样的限制。
归档时间: |
|
查看次数: |
15363 次 |
最近记录: |