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(并且在我测试时正确打印出来)。 –
当然。你可以接受有错误的约会吗? (在前端)。 –