Link to home
Start Free TrialLog in
Avatar of webprouk
webprouk

asked on

Can email reminders in Outlook 2003 appears in the task list?

When a user right clicks on the flag field of an email, and sets a reminder for that email, is there any way for the reminder to appear in the Task list?

Or is there any way to see all reminders that have been set, in one place, without waiting for them to pop up?

Or is there a different way to make an email follow up into a tak for tracking purposes?

Thanks for your help.
Avatar of David Lee
David Lee
Flag of United States of America image

Greetings, webprouk.

> is there any way for the reminder to appear in the Task list?
No.

> Or is there any way to see all reminders that have been set, in one
> place, without waiting for them to pop up?

Yes.  You should already have a search folder titled "For Follow Up".  It should contain all the flagged emails in your mailbox.  The only catch is that a search folder only shows items from that message store (i.e. mailbox or personal folder).  It won't allow you to set up a global view of all flagged emails.

Cheers!
Avatar of webprouk
webprouk

ASKER

Thanks for the reply. Yes this search folders works exactly as you say. However, it does not show which emails actually have a reminder set. It includes all flagged emails, which may also have a reminder set.

My question is whether there is any way to make such an email appear in the TASK LIST?
ASKER CERTIFIED SOLUTION
Avatar of David Lee
David Lee
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Ok. Thanks for that confirmation. It looked like that to us, but thought we would double check.
You're welcome.  For whatever it's worth, I stopped setting reminders on emails in favor of creating tasks.  I created a simple macro that allows me to drag and drop a message to a certain folder that automatically creates a task based on the mail item.  Yes, I know you can drag and drop a message to the task folder and it'll do the same thing.  But I didn't like the way the task was created, with the message body in the task details.  My macro formats the task the way I want it to and also assigns a default due date.  I'll be glad to share that macro if you're interested.
Would love to see the macro - it seems to be a big improvement over drag and drop -  but would also need to know how to implement it into MS office/outlook ;-)
webprouk,

Ok, here's the code.  Follow these instructions to use it.

1.  Start Outlook
2.  Create a folder called AutoTask.  You can use a different name if you want so lone as it matches the folder path in the code.
3.  Decide which folder you want to move items to when dropped into the AutoTask folder.
4.  Click Tools->Macro->Visual Basic Editor
5.  If not already expanded, expand Microsoft Office Outlook Objects and click on ThisOutlookSession
6.  Copy the code and paste it into the right-hand pane of the VB Editor window
7.  Edit the code as needed.  I placed a comment line where things can/need to change.
8.  Click the diskette icon on the toolbar to save the changes
9.  Close the VB Editor
10.  Click Tools->Macro->Security
11.  Set the Security Level to Medium
12.  Close Outlook
13.  Start Outlook
14.  Outlook will display a dialog-box warning that ThisOutlookSession contains macros and asking if you want to allow them to run.  Say yes.

Here's how it works.

1.  The code watches the AutoTask folder.  When an item is dropped in the folder the code fires.
2.  First action is to move the item dropped in the autotask folder to a storage folder.  Not only does this get the source mail item out of the way, it also allows the code to safely create a link to the item since we know it won;t be moving.  If the item was moved after creating the link, then we'd have a broken link.
3.  Second action is to create a task item.  The subject is set to the subject of the message, the due date is set to one week in the future, a link is created to the source item, and the sender's name is added to the body of the task.  Thoise were my choices for how I wanted my tasks set up.  It'd be very simple to modify this to set the task up however you desired.
4.  Finally, the task is displayed onscreen in case you want to make adjustments.

Oh, I should mention that this uses Outlook Redemption, a very clever and useful third-party library found here: http://www.dimastr.com/redemption


Private WithEvents olkAutoTask As Outlook.Items

Private Sub Application_MAPILogonComplete()
    'The folder name here must match the folder name in step #2 of the instructions.
    Set olkAutoTask = OpenMAPIFolder("\Mailbox - Doe, John\AutoTask").Items
End Sub

Private Sub Application_Quit()
    Set olkAutoTask = Nothing
End Sub

Private Sub olkAutoTask_ItemAdd(ByVal Item As Object)
    Dim olkArchiveFolder As Outlook.MAPIFolder, _
        olkTask As Outlook.TaskItem, _
        olkTempItem As Outlook.MailItem, _
        redItem As Redemption.SafeMailItem, _
        strFindQuery As String
    'Change the folder path on the following line.
    Set olkArchiveFolder = OpenMAPIFolder("\Archive Folders\Inbox")
    Set redItem = CreateObject("Redemption.SafeMailItem")
    Item.Move olkArchiveFolder
    strFindQuery = "[Subject] = " & Chr(34) & FixSubject(Item.Subject & Chr(34)) & " and [SentOn] >= '" & Format(Item.SentOn, "ddddd hh:mm AMPM") & "'"
    Set olkTempItem = olkArchiveFolder.Items.Find(strFindQuery)
    If TypeName(olkTempItem) <> "Nothing" Then
        redItem.Item = olkTempItem
        Set olkTask = Application.CreateItem(olTaskItem)
        With olkTask
            .Subject = redItem.Subject
            .StartDate = Date
            .DueDate = Date + 7
            .ReminderSet = True
            .ReminderTime = CDate(.DueDate & " 7:30:00 AM")
            .Body = vbCrLf & "Customer: " & redItem.SenderName & vbCrLf & "Attachments" & vbCrLf
            .Attachments.Add Item, , Len(.Body) + 1, "Source Message"
            .Display
        End With
    Else
        MsgBox "Could not find source item", vbCritical + vbOKOnly, "AutoTask"
    End If
    Set olkTempItem = Nothing
    Set redItem = Nothing
    Set olkTask = Nothing
    Set olkArchiveFolder = Nothing
End Sub
Thank you very much for all your help.
You're welcome.