These methods are for Outlook 2003 but should also work in Outlook 2007. There are additional methods for Outlook 2007 which are not yet documented here, but I will add them eventually (and indicate which are for Outlook 2007 only). Each function includes sample VBA code.
Assign Method
Function AssignTask(tsk As Outlook.TaskItem) As Outlook.TaskItem Set AssignTask = tsk.Assign End Function Sub TestAssignTask() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call AssignTask(tsk) End Sub
CancelResponseState Method
Function CancelTaskResponseState(tsk As Outlook.TaskItem) tsk.CancelResponseState End Function Sub TestCancelResponseState() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call CancelTaskResponseState(tsk) End Sub
Close Method
Function CloseTask(tsk As Outlook.TaskItem, SaveTask As _
Outlook.OlInspectorClose)
tsk.Close SaveTask
End Function
Sub TestCloseTask()
Dim tsk As Outlook.TaskItem
Set tsk = Outlook.CreateItem(olTaskItem)
Call CloseTask(tsk)
End SubCopy Method
Function CopyTask(tsk As Outlook.TaskItem) As Outlook.TaskItem Set CopyTask = tsk.Copy End Function Sub TestCopyTask() Dim tsk As Outlook.TaskItem Dim newTask As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Set newTask = CopyTask(tsk) End Sub
Delete Method
Function DeleteTask(tsk As Outlook.TaskItem) tsk.Delete End Function Sub TestDeleteTask() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call DeleteTask(tsk) End Sub
ClearRecurrencePattern Method
Function ClearRecurrences(ByRef tsk As Outlook.TaskItem) tsk.ClearRecurrencePattern End Function Sub TestClearRecurrences() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call ClearRecurrences(tsk) End Sub
Display Method
Function DisplayTask(tsk As Outlook.TaskItem) tsk.Display End Function Sub TestDisplayTask() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call DisplayTask(tsk) End Sub
GetRecurrencePattern Method
Function GetRecurrences(tsk As Outlook.TaskItem) As _
Outlook.RecurrencePattern
Set GetRecurrences = tsk.GetRecurrencePattern
End Function
Sub TestGetRecurrences()
Dim tsk As Outlook.TaskItem
Dim RP As Outlook.RecurrencePattern
Set tsk = Outlook.CreateItem(olTaskItem)
Set RP = GetRecurrences(tsk)
End SubMarkComplete Method
Function MarkTaskComplete(tsk As Outlook.TaskItem) tsk.MarkComplete End Function Sub TestMarkTaskComplete() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call MarkTaskComplete(tsk) End Sub
Move Method
Function MoveTask(tsk As Outlook.TaskItem, _
fldr As Outlook.MAPIFolder) As Outlook.TaskItem
Set MoveTask = tsk.Move(fldr)
End Function
Sub TestMarkTaskComplete()
Dim tsk As Outlook.TaskItem
Dim newTask As Outlook.TaskItem
Dim fldr As Outlook.MAPIFolder
Set tsk = Outlook.CreateItem(olTaskItem)
Set fldr = Outlook.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders("Sub-Tasks")
Set newTask = MoveTask(tsk, fldr)
End SubRespond Method
Function RespondToTask(tsk As Outlook.TaskItem, response As OlTaskResponse, _
showDialog As Boolean, addlPrompt As Boolean)
Set RespondToTask = tsk.Respond(response, showDialog, addlPrompt)
End Function
Sub TestRespondToTask()
Dim tsk As Outlook.TaskItem
Set tsk = Outlook.CreateItem(olTaskItem)
Call RespondToTask(tsk, olTaskAccept, False, False)
End SubPrintOut Method
Function PrintTask(tsk As Outlook.TaskItem) tsk.PrintOut End Function Sub TestPrintTask() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call PrintTask(tsk) End Sub
The Save Method
Function SaveTask(tsk As Outlook.TaskItem) tsk.Save End Function Sub TestSaveTask() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call SaveTask(tsk) End Sub
SaveAs Method
Function SaveTaskAs(tsk As Outlook.TaskItem, filePath As String, _
Optional fileType As OlSaveAsType = olMSG)
tsk.SaveAs filePath, fileType
End Function
Sub TestSaveAsTask()
Dim tsk As Outlook.TaskItem
Set tsk = Outlook.CreateItem(olTaskItem)
Call SaveTaskAs(tsk, "C:\" & tsk.Subject & ".msg")
End SubThe Send Method
Function SendTask(tsk As Outlook.TaskItem) tsk.Send End Function Sub TestSendTask() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call SendTask(tsk) End Sub
ShowCategoriesDialog Method
Function TaskCategoriesDialog(tsk As Outlook.TaskItem) tsk.ShowCategoriesDialog End Function Sub TestTaskCategoriesDialog() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call TaskCategoriesDialog(tsk) End Sub
StatusReport Method
Function TaskStatusReport(tsk As Outlook.TaskItem) As Object Set TaskStatusReport = tsk.StatusReport TaskStatusReport.Send End Function Sub TestTaskStatusReport() Dim tsk As Outlook.TaskItem Dim tskReport As Object Set tsk = Outlook.CreateItem(olTaskItem) Set tskReport = TaskStatusReport(tsk) End Sub
SkipRecurrence Method
Function TaskSkipRecurrence(tsk As Outlook.TaskItem) tsk.SkipRecurrence End Function Sub TestTaskSkipRecurrence() Dim tsk As Outlook.TaskItem Set tsk = Outlook.CreateItem(olTaskItem) Call TaskSkipRecurrence(tsk) End Sub
