Tôi không có may mắn loại bỏ cảnh báo Outlook theo chương trình trước khi nó hiển thị.Loại bỏ lời nhắc 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
Tôi muốn sử dụng mục cuộc hẹn này làm trình kích hoạt cho một số macro mà không cần người dùng bỏ qua lời nhắc theo cách thủ công.
Dường như với tôi, khi sự kiện này được kích hoạt, các mục nhắc nhở là không nhìn thấy được, do đó không thể bị miễn nhiệm
tôi đã cố gắng để loại bỏ nó ra khỏi nhắc nhở được cài nhưng điều này dường như xóa toàn bộ sự kiện từ lịch của tôi. Ngoài ra, nó sẽ vẫn hiển thị lời nhắc STRANGE TITLE không có trong ASCII.
Tôi mệt mỏi khi đặt thuộc tính remindSet của mục cuộc hẹn thành false, thuộc tính nhắc nhở vẫn bật lên.
Vì vậy, tôi đang tìm kiếm một cách để a) loại bỏ lời nhắc trước khi tự động bật/b). loại bỏ lời nhắc sau khi nó tự động xuất hiện .... hoặc bất kỳ cách giải quyết nào để thực hiện một MACRO được lên lịch trong Outlook. (. Xin lưu ý rằng tôi không được phép sử dụng công việc theo lịch trình trong Windows cũng không VBS)
Cập nhật:
Bây giờ tôi có đoạn mã sau. Lời nhắc đang được xóa, nhưng nó sẽ vẫn bật ra một cửa sổ nhắc nhở với chú thích như "Không có cuộc hẹn/nhắc nhở" một cái gì đó như thế này.
Sự kiện beforeReminderShow rất hữu ích trong ý nghĩa các Reminder Object isVisible = true
vì vậy tôi có thể bỏ ra .. nhưng các cửa sổ nhắc nhở sẽ tiếp tục bật lên ngay cả khi có 0 sự kiện.
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
[Solved] chỉnh sửa thức Các giải pháp cuối cùng hoàn toàn khả thi (tôi đặt trong "ThisOutlookSession" Module) Hope this helps khác
' 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
tôi sẽ cung cấp cho nó một thử hôm thứ Hai, Cảm ơn nâng cao. Tôi không thể tìm ra sự kiện. Cảm ơn! – Larry
Sau khi đọc câu hỏi của bạn một lần nữa, tôi nghĩ rằng bạn sẽ phải làm một sự kết hợp của những gì bạn đã có và đề nghị của tôi. Tôi đang nghĩ đến trường hợp bạn muốn xóa lời nhắc nhưng người dùng có lời nhắc khác. Trong trường hợp này, bạn loại bỏ của bạn và sau đó để cho cửa sổ nhắc nhở hiển thị. Nếu bạn là lời nhắc nhở duy nhất thì bạn sẽ sử dụng sự kiện mà tôi đã gợi ý để ngăn chặn cửa sổ hiển thị. – darbid
Xin chào @darbid Vui lòng xem chỉnh sửa của tôi về câu hỏi. Cảm ơn – Larry