Configurar elementos para su seguimiento

Microsoft Outlook dispone de un nuevo sistema de marcación de tareas que permite marcar ciertos elementos de Outlook como los elementos de correo o los elementos de contacto para hacerles un seguimiento. Al marcar un elemento de Outlook para el seguimiento, se muestra información sobre ese elemento de Outlook, junto con otra información basada en tareas, en el módulo de navegación barra de To-Do y calendario en la interfaz de usuario de Outlook.

Los objetos de los elementos de Outlook siguientes se han extendido para que sean compatibles con el sistema de marcación de tareas:

Marcar un elemento como tarea

Es posible determinar si un objeto de elemento de Outlook está marcado para su seguimiento comprobando el valor de su propiedad IsMarkedAsTask. Utilice el método MarkAsTask para marcar un elemento de Outlook para su seguimiento y el método ClearTaskFlag para quitarle la marca.

Establecer propiedades de las tareas

Cuando se marca para su seguimiento un elemento de Outlook usando el método MarkAsTask, se usa una constante OlMarkInterval para especificar la configuración predeterminada para las propiedades TaskStartDate, TaskDueDate, TaskCompletedDate y ToDoTaskOrdinal de dicho elemento. Estas propiedades no solo se usan para determinar la duración y el estado de finalización de la tarea asociada al elemento de Outlook, sino que también se usan para determinar el orden en el que se muestra el elemento de Outlook en la Barra Tareas pendientes y en el módulo de navegación Calendario.

No obstante, también puede establecer cada una de estas propiedades mediante programación, después de llamar al método MarkAsTask, para poder utilizar las duraciones personalizadas o para cambiar el estado de finalización o el orden en que se muestra el elemento de Outlook.

Una vez que se ha marcado un elemento de Outlook para su seguimiento, también puede establecer la propiedad TaskSubject del elemento de Outlook para mostrar una descripción de tarea distinta del valor de la propiedad Subject para el elemento de Outlook marcado.

Elementos de tarea y marcar las tareas

El objeto TaskItem admite la propiedad ToDoTaskOrdinal, con objeto de que el orden en que se muestran los elementos de tarea de Outlook en la Barra Tareas pendientes también se pueda cambiar mediante programación.

Filtrar elementos marcados como tareas

Puede aprovechar las funciones de filtrado DASL (DAV Searching and Locating) de Outlook para filtrar los elementos de Outlook marcados para su seguimiento. El ejemplo siguiente de Visual Basic para Aplicaciones (VBA) define un filtro DASL que filtra únicamente los elementos de Outlook cuya propiedad IsMarkedAsTask tiene el valor True; a continuación, utiliza el filtro para generar un objeto Table que contiene los elementos de Outlook filtrados recuperados de la carpeta Bandeja de entrada predeterminada.

Private Sub TableForIsMarkedAsTask() 
 Dim objTable As Outlook.Table 
 Dim objRow As Outlook.Row 
 Dim strFilter As String 
 
 On Error GoTo ErrRoutine 
 
 ' Define a DASL filter string that filters only those items 
 ' with an IsMarkedAsTask property value set to True. 
 strFilter = "@SQL=" & Chr(34) & _ 
 "https://schemas.microsoft.com/mapi/proptag/0x0E2B0003" & _ 
 Chr(34) & " = 1" 
 
 ' Use the filter to construct a table of Outlook items 
 ' retrieved from the Inbox default folder. 
 Set objTable = Application.Session.GetDefaultFolder(olFolderInbox).GetTable(strFilter) 
 
 With objTable 
 ' Add task-related columns to the table. 
 .Columns.Add ("From") 
 .Columns.Add ("FlagRequest") 
 .Columns.Add ("TaskStartDate") 
 .Columns.Add ("TaskDueDate") 
 .Columns.Add ("TaskCompletedDate") 
 
 ' Report the contents of the table 
 ' to the Immediate window. 
 Do Until .EndOfTable 
 Set objRow = .GetNextRow 
 Debug.Print objRow("Subject"), _ 
 objRow("From"), _ 
 objRow("FlagRequest"), _ 
 objRow("TaskStartDate"), _ 
 objRow("TaskDueDate"), _ 
 objRow("TaskCompletedDate") 
 Loop 
 End With 
 
EndRoutine: 
 ' Clean up 
 Set objRow = Nothing 
 Set objTable = Nothing 
 
 Exit Sub 
 
ErrRoutine: 
 MsgBox Err.Number & " - " & Err.Description, _ 
 vbOKOnly Or vbCritical, _ 
 "TableForIsMarkedAsTask" 
 
 GoTo EndRoutine 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.