オブジェクトでイベントWithEvents
を処理するために使用していますが、一致するサブルーチンを宣言していません。以下の私のコードでは、対あなたの潜水艦に注意してください。Reminder
objReminders
objReminders_...
Application_...
Outlook 2003 であなたのコードを試してみたところ (Office 2007 を持っていないので、そこでテストすることはできません)、次のようになりました。
Public WithEvents objReminders As Outlook.Reminders
Private Sub objReminders_Snooze(ByVal ReminderObject As Reminder)
Call Send_Email_Using_VBA
MsgBox ("Litigate!")
End Sub
Private Sub Class_Initialize()
Set objReminders = Outlook.Reminders
End Sub
通常のコード モジュールでこれを実装します。
Sub test()
Dim rmd As New ReminderClass
rmd.objReminders.Item(1).Snooze 1 'Triggers objReminders_Snooze in class module
rmd.objReminders.Item(2).Snooze 1
End Sub
Snooze
これは、明示的に呼び出すイベントでトリガーされます。ただし、これは、イベントが最初に発生したときにトリガーする場合にも機能するはずです (これは、私が知る限り、リマインダーが から起動したときにトリガーされませんSnooze
)。テスト用にリマインダーを設定していません。これ以上の問題がある場合は、それに関するいくつかの独自のテストを設定します。
Private Sub objReminders_ReminderFire(ByVal ReminderObject As Reminder)
Call Send_Email_Using_VBA
MsgBox ("Litigate!")
End Sub
アップデート:
2010年にこれをいじった後、次のことが機能することがわかりました(少なくとも起動しますが、常に起動しているように見えました):
Private Sub Application_Reminder(ByVal Item As Object)
Call Send_Email_Using_VBA
MsgBox ("Litigate!")
End Sub
ThisOutlookSession
これは、オブジェクト モジュールでセットアップされました。これを追加すると何か効果がありますか?