Respond Method

Microsoft Outlook Visual Basic

Responds to a meeting request for the AppointmentItem object or a task request for the TaskItem object.

expression.Respond(Response, fNoUI, fAdditionalTextDialog)

expression    Required. An expression that returns an AppointmentItem or TaskItem object.

Response    Required OlMeetingResponse. The response to the request.

OlMeetingResponse can be one of these OlMeetingResponse constants.
For an AppointmentItem object:
olMeetingAccepted
olMeetingDeclined
olMeetingTentative
For a TaskItem object:
olTaskAccept
olTaskAssign
olTaskDecline
olTaskSimple

fNoUI    Optional for AppointmentItem, required for TaskItem. Boolean. True to not display a dialog box; the response is sent automatically. False to display the dialog box for responding.

fAdditionalTextDialog Optional for AppointmentItem, required for TaskItem. Boolean. False to not prompt the user for input; the response is displayed in the inspector for editing. True to prompt the user to either send or send with comments. This argument is valid only if fNoUI is False.

Note    The possible values for the optional parameters, fNoUI and fAdditionalTextDialog and the subsequent results are as follows:

Remarks

When you run a program that uses the Microsoft Outlook object model to call the Respond method, you receive a warning message. This warning message tells you that a program is trying to send an item on your behalf and asks if you want to allow this.

fNoUI, fAdditionalTextDialog Result
True, True For AppointmentItem and TaskItem:

Response item is returned with no user interface. To send the response, you must call the Send method.

True, False For AppointmentItem and TaskItem:

Same result as with True, True.

False, True For AppointmentItem:

Prompts user to Send or Edit before sending the response.

For TaskItem:

If the Display method has been called, the user prompt appears. Otherwise, the item is sent without prompting and the resulting item is nothing.

False, False For AppointmentItem:

New response item appears in the user interface, but no prompt is displayed.

For TaskItem:

Does nothing.

Example

This Visual Basic for Applications (VBA) example finds a MeetingItem in the default Inbox folder and adds the associated appointment to the Calendar folder. It then responds to the sender by accepting the meeting.

Sub AcceptMeeting()
	Dim myOlApp As New Outlook.Application
	Dim myNameSpace As Outlook.NameSpace
	Dim myFolder As Outlook.MAPIFolder
	Dim myMtgReq As Outlook.MeetingItem
	Dim myAppt As Outlook.AppointmentItem
	Dim myMtg As Outlook.MeetingItem
	Set myNameSpace = myOlApp.GetNamespace("MAPI")
	Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
	Set myMtgReq = myFolder.Items.Find("[MessageClass] = 'IPM.Schedule.Meeting.Request'")
	If TypeName(myMtgReq) <> "Nothing" Then
		Set myAppt = myMtgReq.GetAssociatedAppointment(True)
		Set myMtg = myAppt.Respond(olResponseAccepted, True)
		myMtg.Send
	End If
End Sub
		

If you use Microsoft Visual Basic Scripting Edition (VBScript) in an Outlook form, you do not create the Application object, and you cannot use named constants. This example shows how to perform the same task using VBScript in a CommandButton Click event.

Sub CommandButton1_Click()
 Set myNamespace = Application.GetNamespace("MAPI")
 Set myFolder = myNamespace.GetDefaultFolder(6)
 Set myMtgReq = myFolder.Items.Find("[MessageClass] = 'IPM.Schedule.Meeting.Request'")
 If TypeName(myMtgReq) <> "Nothing" Then
     Set myAppt = myMtgReq.GetAssociatedAppointment(True)
     myAppt.Respond 3, False, True
 Else
     MsgBox "You have no meeting requests."
 End If
End Sub