表示する前にOutlookのアラートをプログラムによって却下する運がない。Outlookリマインダの抹消
Private Sub Application_Reminder(ByVal Item As Object)
Dim objRem As Reminder
Dim objRems As Reminders
If Item.Subject = "TESTING" Then
'downloadAndSendSpreadReport
Set objRems = Application.Reminders
i = 0
For Each objRem In objRems
i = i + 1
If objRem.Caption = "TESTING" Then
objRems.Remove i
If objRem.IsVisible Then
objRem.Dismiss
End If
Exit For
End If
Next objRem
Item.ReminderSet = False
Item.Delete
'Item.Dismiss
End If
End Sub
私はこのアポイントアイテムをトリガーとして使用して、リマインダを手動で却下する必要がないようにしたいと考えています。
は私が設定リマインダからそれを削除しようとしたが、これは私のカレンダーからイベント全体を削除しているようですので、
を却下することができない、このイベントがトリガされたとき、リマインダー項目が表示されていない、私には思えます。また、ASCIIではなくSTRANGE TITLEのリマインダも表示されます。
予定項目のreminderSetプロパティをfalseに設定するのに疲れましたが、リマインダープロパティは引き続きポップアップします。
だから私はを探しています。a)自動的にポップする前にリマインダを消す/ b)。自動的にポップした後にリマインダを終了するか、またはOutlookでスケジュールされたMACROを実行するための回避策があります。 (Iは、WindowsにもVBSでスケジュールされたジョブを使用する権限がありませんので、予めご了承ください。)
更新:
を今、私は次のコードを持っています。リマインダは削除されていますが、「予約/リマインダがありません」というようなキャプションが付いたリマインダーウィンドウが表示されます。
beforeReminderShowイベントはので、私は..うち消すことができますが、アラームウィンドウが0のイベントがあります場合でも、ポップアップ表示し続ける意味でリマインダーオブジェクトのisVisible =真
便利です。
Private WithEvents olRemind As Outlook.Reminders
Private Sub olRemind_BeforeReminderShow(Cancel As Boolean)
Set objRems = Application.Reminders
For Each objRem In objRems
If objRem.Caption = "TESTING" Then
If objRem.IsVisible Then
objRem.Dismiss
End If
Exit For
End If
Next objRem
End Sub
[解決]最終編集 最終的な解決策の実行可能(私は「ThisOutlookSession」モジュールに置か) 希望、これは他の人を助け
' declare this object withEvents displaying all the events
Private WithEvents olRemind As Outlook.Reminders
Private Sub Application_Reminder(ByVal Item As Object)
Set olRemind = Outlook.Reminders
' RUN OTHER MACRO HERE
End Sub
Private Sub olRemind_BeforeReminderShow(Cancel As Boolean)
For Each objRem In olRemind
If objRem.Caption = "TESTING" Then
If objRem.IsVisible Then
objRem.Dismiss
Cancel = True
End If
Exit For
End If
Next objRem
End Sub
を表示するこのオブジェクト
withEvents
を宣言し、私はそれを月曜日に試してみるだろう、のおかげで前進。私はイベントを見つけることができませんでした。ありがとう! – Larryあなたの質問をもう一度読むと、私はあなたがすでに持っているものと私の提案を組み合わせなければならないと考えています。私はリマインダーを削除したいがユーザーには他のリマインダーがある場合を考えている。この場合、あなたはあなたを削除して、リマインダーウィンドウを表示させます。あなたの唯一のリマインダならば、あなたは私が提示したイベントを使用して、ウィンドウの表示を止めることができます。 – darbid
こんにちは@darbid質問の私の編集をご覧ください。ありがとう – Larry