Link to home
Start Free TrialLog in
Avatar of edmacey
edmacey

asked on

No modification in ten days to task reminder

I have many tasks active in outlook and while I try and keep on top of them some I forget about. It is not until I work my way down the list, sorting from modified last that I can clear some of the ones I have forgotten about. It many cases if I had just set a reminder within the task to remind me in a weeks time I wouldn't have missed things.
So is there anyway to make the task tell you that you have not amended it, added notes or such like, ie you have not modified the task in say the last ten days.

I am running Outlook 2007 with exchange on Win XP
Thanks Ed
Avatar of David Lee
David Lee
Flag of United States of America image

Hi, Ed.

There's no built-in means of doing this.  Of course it's possible with a bit of scripting.  Are you interested in pursuing that?
Avatar of edmacey
edmacey

ASKER

Hi BlueDevilFan, yes definitely interested in a bit of scripting, it would have to run with all my other scripts of course. I can email them to you if you need them in their entirety. Ed.
I don't think I need them.  What action do you want to take if the task hasn't been modified in however many days?  Do you want it to open, categegorize it using a certain color, simply build a list, ...?
Avatar of edmacey

ASKER

If a reminder could pop up, maybe as part of the calendar reminders that you usually get at the beginning of a session. Or a pop up alert box, You have not done anything with this task in 10 days, titleoftask. and then simply click OK to carry on.
Try this, Ed.
Sub ActivityCheck()
    'Change the interval on the next line'
    Const INTERVAL_DAYS = 10
    Dim olkTask As Outlook.TaskItem, olkPost As Outlook.PostItem
    Set olkPost = Application.CreateItem(olPostItem)
    olkPost.Subject = "Tasks Not Edited Since " & DateAdd("d", -5, Date)
    For Each olkTask In Session.GetDefaultFolder(olFolderTasks).Items
        If Not olkTask.Complete Then
            If DateDiff("d", olkTask.LastModificationTime, Now) > INTERVAL_DAYS Then
                olkPost.HTMLBody = olkPost.HTMLBody & "<a href=""outlook:" & olkTask.EntryID & """>" & olkTask.Subject & "</a><br>"
            End If
        End If
    Next
    olkPost.Save
    olkPost.Display
    Set olkTask = Nothing
    Set olkPost = Nothing
End Sub

Open in new window

Avatar of edmacey

ASKER

Thanks BlueDevilFan, so that I can check it, how would I set the interval to half an hour? or is that difficult?
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
Avatar of edmacey

ASKER

Forgive me for being silly, I just create a module and put this in it save and reboot?
Don't have to reboot.  Just add the code.
Avatar of edmacey

ASKER

I haven't been able to get this to work at all, is it because it is looking for things older than 30 days?
It's only looking for things that are older than 30 minutes.  Have you tried stepping through the code in the debugger to see what happens?
Avatar of edmacey

ASKER

Dear BlueDevilFan,

I see my error, of course it works it just needs to be started, I have popped into Application_Startup so that it runs whenever I turn on Outlook.

Thanks so much. Ed.
Avatar of edmacey

ASKER

Thanks Ed.
You're welcome, Ed.