
특정 카테고리의 알림이 실행될 때마다 실행되는 vba의 코드를 통해 반복 이메일을 만들 수 있었습니다.
http://www.slipstick.com/developer/send-email-outlook-reminders-fires/
제 질문은 이메일을 보낸 후 알림을 어떻게 닫을 수 있느냐는 것입니다. 알림(1) 줄을 추가하면 해당 지점에서 코드가 끊어집니다.
알림 실행을 계속하면 마침내 Outlook에 나타납니다.
알림 이벤트를 해제하려면 응용 프로그램 알림 매크로 실행을 완료해야 하는 것 같습니다.
답변1
MSDN에 따르면Applcation.Reminder
이벤트사용된 Slipstick의 매크로가 실행됩니다.~ 전에알림 대화 상자가 나타납니다. 하지만Reminder.Dismiss
방법미리 알림(동일해야 하는지 확실하지 않음)이 미리 알림 대화 상자에 이미 표시되어 있어야 합니다. 이것이 작동하지 않는 이유입니다. 즉, AFAIK는 Reminders(1)
방금 실행된 알림이 될 것이라는 보장은 없습니다 . 잘못된 알림을 닫으려고 했을 수도 있습니다.
가능한 해결책으로서(강조해야 할 점은나는 테스트하지 않았습니다), 를 사용해 보세요 Reminders.Remove(Item.Subject)
. 문서에 다음과 같은 내용이 나와 있는 것 같습니다.Reminders.Remove
숫자 인덱스가 필요하지만 시도해 볼 가치가 있습니다. 또한 알림이 포함된 두 항목의 제목이 동일한 경우 올바른 항목을 받게 될 것이라는 보장이 없습니다.
답변2
방금이 문제가 발생했습니다. j_foster의 아이디어가 잘 작동하는 것 같습니다. 그러나 알림의 색인을 식별하려면 약속 항목의 항목 ID를 사용하는 것이 좋습니다. 그런 다음 remove()
.
아래를 참조하세요:
Private Sub Application_Reminder(ByVal Item As Object)
If TypeOf Item Is AppointmentItem Then
'Do Something...
'Loop over all reminders and find index of appt
Dim appt As AppointmentItem: Set appt = Item
Dim i As Integer: i = 0
Dim notif As reminder
For Each notif In Application.Reminders
i = i + 1
If notif.Item.EntryID = appt.EntryID Then
Call Application.Reminders.Remove(i)
Exit For
End If
Next
End If
End Sub