Outlook提醒电子邮件脚本 - 但不能解雇

时间:2015-12-22 21:51:43

标签: vba email outlook dismiss reminders

我已经查看过以前的答案,并在下面尝试了很多变化,但我似乎无法让它发挥作用。

基本上,下面脚本的目的是将Outlook提醒转换为电子邮件。

但是,我似乎无法以编程方式解除提醒。我已经查看过这些问题的先前答案(例如this one)并尝试实施这些问题,但他们似乎没有在此配置中取得成功。

' declare this object withEvents displaying all the events
Private WithEvents olRemind As Outlook.Reminders
Private Sub Application_Reminder(ByVal Item As Object)
  Dim objMsg As MailItem
  Dim objRem As Reminder
  Dim olRemind As Reminders
  Set olRemind = Outlook.Reminders
  Set objMsg = Application.CreateItem(olMailItem)
  objMsg.To = "*ADDRESS REMOVED FROM EXAMPLE*"
  objMsg.subject = "MHReminder: " + Item.subject
  objMsg.Body = Item.Body
  Set objMsg.SaveSentMessageFolder = Session.GetDefaultFolder(olFolderDeletedItems)
  objMsg.Send
  Set objMsg = Nothing
End Sub

Private Sub olRemind_BeforeReminderShow(Cancel As Boolean)

    For Each objRem In olRemind
        If objRem.IsVisible = True Then
            objRem.Dismiss
            Cancel = True
        End If
    Exit For
    Next objRem

End Sub

我更多的是" kludge-and-splice"程序员比真正的程序员,所以会很高兴有人指出我的(希望是明显的)错误。

谢谢...

2 个答案:

答案 0 :(得分:0)

您正在查看第一个找到的提醒,然后退出

For Each objRem In objRems
    If objRem.Caption = "TESTING" Then ' <--
        If objRem.IsVisible Then
            objRem.Dismiss
        End If
        Exit For
    End If
Next objRem

如您在Dismiss Outlook reminder找到的示例中所示,您将需要类似

的内容
Category

答案 1 :(得分:0)

BeforeReminderShow事件处理程序中的取消参数需要为ByRef