Pregunta

Tengo un archivo de MS Project, que estoy usando los ensamblados de interoperabilidad primarios de analizar. ¿Cómo puedo determinar el linaje de una tarea? Me baso en el código EDT, sin embargo, el cliente ha empezado a jugar con este campo y ya no representa la jerarquía de los datos.

Edit: Por linaje me refiero a una manera de identificar dónde existe en la jerarquía de la tarea. Por defecto la EDT imita código perfectamente.

Necesito esta información para determinar lo que es el padre de una tarea.

Ejemplo

  • A
  • B
    • B1
    • B2
    • B3
  • C

El linaje para B3 sería 2,3 (Si contamos por 1, como proyecto)

¿Fue útil?

Solución

Trate propiedad OutlineNumber del objeto de tareas y la colección PredecessorTasks.

HTM

Colby África

Otros consejos

Uso de la Propiedad '' OutlineChildren:

// from caller:
ListTasks(prj.OutlineChildren, "");

void ListTasks(Tasks lst, string indent)
{
    foreach (Microsoft.Office.Interop.MSProject.Task t in lst) {
        Log(indent + t.Start + " - " + t.Name);
        ListTasks(t.OutlineChildren, indent + "    ");
    }
}

Crea árbol sangría de tareas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top