![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
![]()
I would like to be able to execute some code when the user changes the status
of a task from "Not Started" to "Complete" Any help would be appreciated Mark |
Ads |
#2
|
|||
|
|||
![]()
Put the following code into your ThisOutlookSession code window. It will
work when the task is opened and then completed:- Dim WithEvents myInspectors As Inspectors Dim WithEvents myTaskItem As TaskItem Private Sub Application_Startup() Set myInspectors = Outlook.Inspectors End Sub Private Sub myInspectors_NewInspector(ByVal Inspector As Inspector) If TypeName(Inspector.CurrentItem) = "TaskItem" Then Set myTaskItem = Inspector.CurrentItem End If End Sub Private Sub myTaskItem_Close(Cancel As Boolean) Set myTaskItem = Nothing End Sub Private Sub myTaskItem_PropertyChange(ByVal Name As String) If Name = "Status" Then If myTaskItem.Complete = True Then MsgBox "Task " & myTaskItem.Subject & " now completed" End If End If End Sub Obviously replace the messagebox with your required code. -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "Mark" wrote: I would like to be able to execute some code when the user changes the status of a task from "Not Started" to "Complete" Any help would be appreciated Mark |
#3
|
|||
|
|||
![]()
This works when the task is opened in a window (Inspector).
How is it possible to get an event when the task status is changed with "in-cell edits" enabled? There you don't have the inspector opened. Thanks! "Alan Moseley" wrote: Put the following code into your ThisOutlookSession code window. It will work when the task is opened and then completed:- Dim WithEvents myInspectors As Inspectors Dim WithEvents myTaskItem As TaskItem Private Sub Application_Startup() Set myInspectors = Outlook.Inspectors End Sub Private Sub myInspectors_NewInspector(ByVal Inspector As Inspector) If TypeName(Inspector.CurrentItem) = "TaskItem" Then Set myTaskItem = Inspector.CurrentItem End If End Sub Private Sub myTaskItem_Close(Cancel As Boolean) Set myTaskItem = Nothing End Sub Private Sub myTaskItem_PropertyChange(ByVal Name As String) If Name = "Status" Then If myTaskItem.Complete = True Then MsgBox "Task " & myTaskItem.Subject & " now completed" End If End If End Sub Obviously replace the messagebox with your required code. -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "Mark" wrote: I would like to be able to execute some code when the user changes the status of a task from "Not Started" to "Complete" Any help would be appreciated Mark |
#4
|
|||
|
|||
![]()
Try the following within your ThisOutlookSession code window:-
Dim WithEvents myTasks As Items Private Sub Application_Startup() Set myTasks = Outlook.GetNamespace("MAPI").GetDefaultFolder.olFo lderTasks.Items End Sub Private Sub myTasks_ItemChange(ByVal Item As Object) If Item.Complete = True Then MsgBox "Task Complete" End If End Sub -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "BMunk" wrote: This works when the task is opened in a window (Inspector). How is it possible to get an event when the task status is changed with "in-cell edits" enabled? There you don't have the inspector opened. Thanks! "Alan Moseley" wrote: Put the following code into your ThisOutlookSession code window. It will work when the task is opened and then completed:- Dim WithEvents myInspectors As Inspectors Dim WithEvents myTaskItem As TaskItem Private Sub Application_Startup() Set myInspectors = Outlook.Inspectors End Sub Private Sub myInspectors_NewInspector(ByVal Inspector As Inspector) If TypeName(Inspector.CurrentItem) = "TaskItem" Then Set myTaskItem = Inspector.CurrentItem End If End Sub Private Sub myTaskItem_Close(Cancel As Boolean) Set myTaskItem = Nothing End Sub Private Sub myTaskItem_PropertyChange(ByVal Name As String) If Name = "Status" Then If myTaskItem.Complete = True Then MsgBox "Task " & myTaskItem.Subject & " now completed" End If End If End Sub Obviously replace the messagebox with your required code. -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "Mark" wrote: I would like to be able to execute some code when the user changes the status of a task from "Not Started" to "Complete" Any help would be appreciated Mark |
#5
|
|||
|
|||
![]()
THANKS!
"Alan Moseley" wrote: Try the following within your ThisOutlookSession code window:- Dim WithEvents myTasks As Items Private Sub Application_Startup() Set myTasks = Outlook.GetNamespace("MAPI").GetDefaultFolder.olFo lderTasks.Items End Sub Private Sub myTasks_ItemChange(ByVal Item As Object) If Item.Complete = True Then MsgBox "Task Complete" End If End Sub -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "BMunk" wrote: This works when the task is opened in a window (Inspector). How is it possible to get an event when the task status is changed with "in-cell edits" enabled? There you don't have the inspector opened. Thanks! "Alan Moseley" wrote: Put the following code into your ThisOutlookSession code window. It will work when the task is opened and then completed:- Dim WithEvents myInspectors As Inspectors Dim WithEvents myTaskItem As TaskItem Private Sub Application_Startup() Set myInspectors = Outlook.Inspectors End Sub Private Sub myInspectors_NewInspector(ByVal Inspector As Inspector) If TypeName(Inspector.CurrentItem) = "TaskItem" Then Set myTaskItem = Inspector.CurrentItem End If End Sub Private Sub myTaskItem_Close(Cancel As Boolean) Set myTaskItem = Nothing End Sub Private Sub myTaskItem_PropertyChange(ByVal Name As String) If Name = "Status" Then If myTaskItem.Complete = True Then MsgBox "Task " & myTaskItem.Subject & " now completed" End If End If End Sub Obviously replace the messagebox with your required code. -- Alan Moseley IT Consultancy http://www.amitc.co.uk If I have solved your problem, please click Yes below. Thanks. "Mark" wrote: I would like to be able to execute some code when the user changes the status of a task from "Not Started" to "Complete" Any help would be appreciated Mark |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Changing the flag status | Mark J | Outlook and VBA | 2 | October 9th 08 03:48 PM |
Event loop when saving Task item in event handler | Mustafa | Add-ins for Outlook | 1 | August 8th 08 06:24 PM |
Changing status of meeting | Nic Dillon | Outlook - Calandaring | 0 | March 31st 08 11:58 AM |
How do I stop an event from changing to recurring event automatica | WON | Outlook - Calandaring | 1 | March 2nd 08 09:42 PM |
Differentiate between Task and Task Request in NewInspector event | Piyush Gupta | Outlook and VBA | 1 | February 7th 07 06:00 PM |