We have an Outlook add-in. We need to programmatically cancel a task assignment in the TaskItem Inspector window, just the way the Cancel Assignment button does.
One would think that calling TaskItem.CancelResponseState()
might work. Although it does cancel the assignment, it also leaves the task in an unassignable state. The Assign Task button on the ribbon is disabled.
In Outlook 2007 and 2010, we can get the CommandBarButton
object for the Cancel Assignment button and call its Execute()
method. This gives us the desired behavior. However, in Outlook 2013, this command bar button no longer exists. That's not surprising since Inspector command bars were replaced by the Ribbon in 2007. The CommandBarButton object still existed programmatically, though, for backward compatibility. With Outlook 2013, Microsoft has finally removed this object.
So the question is: Is there a way to programmatically "click" on a ribbon button? If not, is there another way to cancel the task assignment the way the ribbon button does it?