Task items have a button to send a Status Update; click this button to generate a message containing the details of the task.
If you always need to send the update to the same email addresses, you can use a macro to call the Status Report function and address the message.
Every day I send the same status report, to the same team, with the same one-line statement. The details of the task need to be in the body of the message, (not as an attachment) with an additional line of text from me.
This macro uses the Status Report function in an open Task to generate the email and Word functions to insert a note at the top. If you don't need to add a note you can remove Dim and Set lines used to access the Word editor and just send the status report.
Sub SendStatusReport() Dim myTask As Outlook.TaskItem Dim myinspector As Outlook.Inspector Dim myReport As Object ' used to insert message Dim olDocument As Word.Document Dim olSelection As Word.Selection Set myinspector = Application.ActiveInspector If Not TypeName(myinspector) = "Nothing" Then If TypeName(myinspector.CurrentItem) = "TaskItem" Then Set myTask = myinspector.CurrentItem Set myReport = myTask.StatusReport myReport.To = "email@example.com" myReport.Display ' used to insert message Set olDocument = myinspector.WordEditor Set olSelection = olDocument.Application.Selection olSelection.InsertBefore "This task is complete!" ' myReport.Send Else MsgBox "No task item is currently open." End If Else MsgBox "No inspector is currently open." End If End Sub
Work with Open or Selected Task
To work with either an open or selected task item, you need to use the GetCurrentItem function.
Sub SendStatusReportAny() Dim myTask As Object Dim myReport As Object ' used to insert message Dim olInspector As Outlook.Inspector Dim olDocument As Word.Document Dim olSelection As Word.Selection Set myTask = GetCurrentItem() On Error Resume Next If Not TypeName(myTask) = "TaskItem" Then MsgBox "Open or select a Task before running this macro!" Exit Sub End If Set myReport = myTask.StatusReport myReport.To = "firstname.lastname@example.org" myReport.Display ' used to insert message Set olInspector = Application.ActiveInspector() Set olDocument = olInspector.WordEditor Set olSelection = olDocument.Application.Selection olSelection.InsertBefore "This task is complete!" ' myReport.Send End Sub
Create your own status report
To compose your own Task status report, create the email message "from scratch" and add the Task fields to the message body. Like the previous macro, this one also uses the GetCurrentItem function.
Sub SendStatusReportNewMessage() Dim myTask As Object Dim myReport As Outlook.MailItem Dim strBody As String Set myTask = GetCurrentItem() On Error Resume Next If Not TypeName(myTask) = "TaskItem" Then MsgBox "Open or select a Task before running this macro!" Exit Sub End If strBody = "I finished this task!" & vbCrLf & _ "Subject: " & myTask.Subject & vbCrLf & _ "Task Date Completed: " & myTask.DateCompleted & vbCrLf & _ "Task Complete: " & myTask.Complete & vbCrLf & _ "Task notes: " & myTask.Body & vbCrLf & _ "For : " & myTask.Companies & vbCrLf & _ "Contacts: " & myTask.ContactNames & vbCrLf Set myReport = Application.CreateItem(olMailItem) With myReport .To = "email@example.com" .Subject = myTask.Subject .Body = strBody .Display '.Send End With End Sub
How to use macros
First: You will need macro security set to low during testing.
To check your macro security in Outlook 2010 or 2013, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. In Outlook 2007 and older, it’s at Tools, Macro Security.
After you test the macro and see that it works, you can either leave macro security set to low or sign the macro.
Open the VBA Editor by pressing Alt+F11 on your keyboard.
To put the code in a module:
- Right click on Project1 and choose Insert > Module
- Copy and paste the macro into the new module.
Add a button for the macro to an open Task form. Click the button to run the macro. More information as well as screenshots are at How to use the VBA Editor
I have created and assigned a task to an employee. If I want to add details to the task later I have been clicking on "Send Status Report" but when I go back to the task the "added" info is not reflected on the task itself. Where are those updates "living"?
sorry i missed this before.. that just sends an email. once you assign it, it's no longer yours... if you need to add notes, create an unassigned copy (details tab).
Any update on my December 20, 2015 2:35 pm question.
I am using exchange 2007
Sorry, I'm way behind in answering questions. :(
This is exactly the problem I am facing with outlook "task requests".
Once task requests are sent, they appear in the recipient's outlook inbox and also immediately pushed to his Iphone "reminders" app, or Samsung "S planner" app, configured with MS exchange server 2007.
My problem is: if you send a task request to a user, the task request appears immediately on his phone, only if his PC was open and his outlook was open, but if his outlook was not open, the task request does not get pushed to the phone ! once he turns on his PC and the task requests gets updated into his outlook inbox, they appear on the phone!!
How can we solve this, i.e. the task requests get pushed to the phone even if the PC was not on and the outlook is not open??
I don't think there is a solution, at least not one i can think off offhand.
I am doing the task requests project above and I have a third issue:
i need to be able to assign task request and prevent the assignee from being able to change the due date after he accepts the task request
how can that be achieved?
This isn't possible - once accepted, the person you assigned it to owns it.
I have another issue, which is:
tracking assigned tasks by more than one user.
if I assign a task to someone, I get updates on the task request in my outlook (update copy), I need this user's manager to track the progress on the task also.
how can I create an updated copy of the task request on the manager's outlook besides my outlook?
When you create the task, look in file, properties for the send have replies sent to field - enter the manager's address there. I have not tried it, so i can't say if it will work... but it would be the only way.
in a quickie test, it looks like it works only if they hit replay all - updates go to the person who created it.
2007 exchange server, task appear in the reminders, but task requests assigned by another user, they appear only if the assignee accepts the task request, but the problem is there is no way to accept task requests on Iphone it has to be on PC outlook.
They'd need to use OWA to accept it. There might be some apps that can accept tasks too.
Task requests do not appear on iphone reminders app like the normal tasks
any solution to this?
Hmmm. They should be in the reminders. What type of email account and how are you syncing tasks?