Outlook 提醒电子邮件脚本 -- 但不能关闭

Outlook Reminders to E-Mail Script -- But Can't Dismiss

我查看了以前的答案并尝试了下面的许多变体,但我似乎无法让它工作。

基本上,下面脚本的目的是将 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" 程序员,因此非常感谢任何人指出我的(希望是明显的)错误。

谢谢...

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

Exit For

如您找到的示例 Dismiss Outlook reminder 您将需要

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

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