执行VBA以根据日历更改提醒时间

时间:2012-05-17 14:02:48

标签: vba outlook ms-office

在Outlook 2007中创建的所有事件都具有相同的默认提醒时间。您似乎无法更改个别日历的时间。

我在outlook中使用了两个日历:我的普通“事件”日历和一个单独的日历,用于跟踪我想在特定时间处理的任务项目。我希望他们有不同的提醒时间(特别是对于任务一,0分钟)。

我想创建一个宏来在每次创建事件时执行:

  • 检查日历名称
  • 更改属于1个日历(至0分钟)的事件的提醒时间

任何资源都将受到赞赏。我在Excel中完成了重要的VBA编程,但是关于Outlook vba的文档(以及outlook中缺少“记录宏”)使得它很难,因为它对我来说真的不直观。

我正在尝试某种东西(有点像基于大量的搜索而在黑暗中拍摄......)像这样(作为课程模块)

Dim myOlApp As New Outlook.Application
Public WithEvents myOlItems As Outlook.Items

Public Sub Initialize_handler()
    Set myOlItems = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items
End Sub

Private Sub myOlItems_ItemAdd(ByVal Item As Object)


Dim myCAlEntry As Outlook.MeetingItem

MsgBox ("test")


End Sub

我应该澄清一下:我现在无法在消息框中看到“测试”。

1 个答案:

答案 0 :(得分:0)

在ThisOutlookSesion中:

Public Sub Application_Startup()
    Set myOlItems = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items
End Sub

您不需要将Dim myOlApp作为新的Outlook.Application:

Public Sub Application_Startup()
    Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items
End Sub

原始设置应该适用于:

Public Sub Application_Startup()
    Initialize_handler
End Sub