es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No puedo acceder a las columnas en el Complemento VSTO de MS Project.

Me gustaría obtener y establecer los objetos Microsoft.Office.Interop.MSProject.Task que se muestran en la columna Show on Board y Board Status en un complemento VSTO de MS Project. Pero parece que estos miembros de objeto no son accesibles programáticamente. ¿Alguien tiene alguna sugerencia de cómo acceder a estos miembros?

Captura de pantalla de las columnas en MS Project

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Una posible solución sería utilizar el objeto Field en lugar del objeto Task para obtener y establecer los valores mostrados en las columnas “Mostrar en el Tablero” y “Estado del Tablero”.

    Primero, necesitarías identificar el ID de campo para cada columna. Puedes hacer esto haciendo clic derecho en el encabezado de la columna y seleccionando “Personalizar Campos”. Luego, selecciona el campo de tu interés y toma nota de su ID de campo.

    Una vez que tengas los ID de campo, puedes utilizar el objeto Application.ActiveProject para acceder a los campos y obtener o establecer sus valores. Por ejemplo, para obtener el valor en la columna “Mostrar en el Tablero” para una tarea específica, podrías utilizar el siguiente código:

    // asume que la tarea es el objeto Task del que quieres obtener el valor
    string valorMostrarEnTablero = task.Project.Application.ActiveProject.
        CustomDocumentProperties["Mostrar en el Tablero"].get_Value(task.ID);
    

    Para establecer el valor para una tarea específica, utilizarías un enfoque similar:

    // asume que la tarea es el objeto Task al que quieres establecer el valor
    task.Project.Application.ActiveProject.
        CustomDocumentProperties["Mostrar en el Tablero"].set_Value(task.ID, "nuevo valor");
    

    Ten en cuenta que es posible que necesites agregar una referencia al espacio de nombres CustomDocumentProperties en tu proyecto. Además, asegúrate de utilizar los ID de campo correctos para tu documento específico de MS Project.

Comments are closed.