Я нашел код для автоматического отклонения приглашения на собрание в нескольких местах. Однако при запуске его в моем Outlook 2013 в качестве действия для правила он останавливается на строке, предназначенной для отбрасывания, вместо отправки ответа. Организатору встречи не нужен ответ от всех в организации. Как и в групповом календаре, он мне не нужен, потому что это не встречи, в которые я вступаю.
Что вызывает эту ошибку и как я могу лучше всего решить эту проблему?
Правило Outlook прерывает сценарий и выпрыгивает, хотя у меня есть пара дополнительных действий (пометить его как прочитанное и удалить его), когда он сталкивается с ошибкой во время выполнения. Это приводит к тому, что приглашение остается в моей папке «Входящие», и я не знаю, что со спамом организатор. Я создал временный макрос для тестирования, который принимает текущее выбранное приглашение на собрание в Outlook и передает его в сценарий AutoDecline. Вот как я получаю ошибку, чтобы фактически показать себя.
Sub AutoDeclineMeetings(oRequest As MeetingItem)
If oRequest.MessageClass <> "IPM.Schedule.Meeting.Request" Then
Exit Sub
End If
Dim oAppt As AppointmentItem
Set oAppt = oRequest.GetAssociatedAppointment(False)
Dim oResponse
Set oResponse = oAppt.Respond(olMeetingDeclined, True)
oResponse.Close (olDiscard)
'These actions I added for my rule to discard the invite from the inbox.
oRequest.UnRead = False
oRequest.Delete
End Sub
Sub TestMacro()
Dim TestItem As MeetingItem
Set TestItem = ActiveExplorer.Selection.Item(1)
Call AutoDeclineMeetings(TestItem)
End Sub
В строке oResponse.Close (olDiscard)
Я получаю сообщение об ошибке 91: переменная объекта или переменная блока не установлены. Я ожидаю, что ответ «Отклонить» будет отброшен, а не отправлен отправителю собрания, поэтому я не буду спамить его. Его не нужно принимать всем в списке рассылки организации, в который оно было отправлено.