1
我有一個相當直接的VBA腳本,它接受Outlook(2013)中的會議請求。它工作正常,大部分的時間,但對於一些會議請求它提供了有關該行 設置oResponse = oAppt.Respond(olMeetingAccepted,真)在Outlook VBA中獲取「對象變量或未設置塊變量」有時
我試圖給我「對象未設置變量或與塊變量」看看不同的會議請求,找出可能觸發它的任何差異,但出於所有目的,它們看起來像相同的請求(當然,它們來自具有不同主題和時間的不同發送者,但沒有任何我可以看到的觸發失敗)。
有什麼想法可能會發生什麼?下面是完整的子(它得到由Outlook規則觸發)
Sub AutoAcceptMeetings(oRequest As MeetingItem)
Dim senderName As String
Dim subjectName As String
Dim meetingTime As String
Dim senderContains As Integer
Dim subjectContains As Integer
Dim oResponse As MeetingItem
Dim oAppt As AppointmentItem
On Error GoTo debugs
If oRequest.MessageClass <> "IPM.Schedule.Meeting.Request" Then
Exit Sub
End If
Set oAppt = oRequest.GetAssociatedAppointment(True)
senderName = oRequest.senderName
subjectName = oRequest.Subject
senderContains = InStr(1, senderName, "Gina")
'Her meeting invitations don't have a reminder set.
If (senderContains > 0) Then
oAppt.ReminderSet = True
oAppt.ReminderMinutesBeforeStart = 15
End If
senderContains = InStr(1, senderName, "Jim")
If (senderContains > 0) Then 'I don't want a reminder
oAppt.ReminderSet = False
oAppt.BusyStatus = olTentative
oAppt.Save
Else 'useful meetings. accept and send response.
meetingTime = oAppt.Start
Set oResponse = oAppt.Respond(olMeetingAccepted, True)
oResponse.Send
MsgBox ("Meeting accepted " + subjectName + " from " + senderName + " for " + meetingTime)
End If
debugs:
If Err.Description <> "" Then MsgBox (Err.Description + " - Source: AutoAcceptMeetings")
End Sub
該錯誤意味着oAppt不算什麼,這似乎意味着oRequest沒有AssociatedAppointment。不知道這意味着什麼,但這就是我讀錯誤的方式。 –
感謝道格,這將有道理。但是,我能夠從oAppt正確獲取meetingTime(並且在我測試時正確打印出來)。 –
當然。你可以接受有錯誤的約會嗎? (在前端)。 –