Edit a Project Task
To edit a Project Task object programmatically, do the following:
- Select the object.
- Assign new values to those properties that you want to edit.
- Invoke the Save method on the object to save the changes.
The following C# and Visual Basic for Applications (VBA) examples show how to edit a Project Task object.
C#
private void UpdateProjectTask()
{
Outlook.ApplicationClass _app = new Outlook.ApplicationClass();
Outlook.Application olApp = (Outlook.Application)_app;
Outlook.NameSpace olNameSpace = _app.GetNamespace("MAPI");
Outlook.Folders folders = olNameSpace.Session.Folders;
Outlook.Folder bcmRootFolder = (Outlook.Folder)folders["Business Contact Manager"];
Outlook.Folder projects = (Outlook.Folder)bcmRootFolder.Folders["Business Projects"];
Outlook.Folder projectTasksFolder = (Outlook.Folder)projects.Folders["Project Tasks"];
string strQuery = "[Subject] = 'Task 1 for Sales Project with Wide World Importers'";
Outlook.TaskItem projectTaskItem = (Outlook.TaskItem)projectTasksFolder.Items.Find(strQuery);
if (projectTaskItem != null)
{
if (projectTaskItem.UserProperties["Activity Priority"] == null)
{
Outlook.UserProperty userProp = projectTaskItem.UserProperties.Add("Activity Priority", Microsoft.Office.Interop.Outlook.OlUserPropertyType.olText, false, false);
userProp.Value = "Low";
}
else
{
projectTaskItem.UserProperties["Activity Priority"].Value = "Low";
}
projectTaskItem.Save();
}
else
{
Console.WriteLine("Project Task not found");
}
}
VBA
Sub UpdateProjectTask()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim olFolders As Outlook.Folders
Dim bcmRootFolder As Outlook.Folder
Dim bcmProjFolder As Outlook.Folder
Dim bcmProjectTasksFolder As Outlook.Folder
Dim existProjectTask As Outlook.TaskItem
Dim userProp As Outlook.UserProperty
Set olApp = CreateObject("Outlook.Application")
Set objNS = olApp.GetNamespace("MAPI")
Set olFolders = objNS.Session.Folders
Set bcmRootFolder = olFolders("Business Contact Manager")
Set bcmProjFolder = bcmRootFolder.Folders("Business Projects")
Set bcmProjectTasksFolder = bcmProjFolder.Folders("Project Tasks")
Set existProjectTask = bcmProjectTasksFolder.Items.Find("[Subject] = 'Task 1 for Sales Project with Wide World Importers'")
If Not TypeName(existProjectTask) = "Nothing" Then
If (existProjectTask.UserProperties("Activity Priority") Is Nothing) Then
Set userProp = existProjectTask.UserProperties.Add("Activity Priority", olText, False, False)
userProp.Value = "High"
Else
existProjectTask.ItemProperties("Activity Priority").Value = "High"
End If
existProjectTask.Save
Else
MsgBox ("Project Task not found")
End If
Set existProjectTask = Nothing
Set bcmProjFolder = Nothing
Set bcmProjectTasksFolder = Nothing
Set bcmRootFolder = Nothing
Set olFolders = Nothing
Set objNS = Nothing
Set olApp = Nothing
End Sub
See Also
Create a Project Task | Select a Project Task | Delete a Project Task | 2007 Office System: Updated Developer Content