Compartir a través de


Método Application.AddSiteColumn (Project)

Agrega una columna que está disponible para la lista de tareas en el sitio de SharePoint sincronizado para el proyecto activo.

Sintaxis

expresión. AddSiteColumn (ProjectField, SharePointName)

expresión Variable que representa un objeto Application.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
ProjectField Opcional PjField Puede ser uno de un subconjunto de constantes en la enumeración PjField , que especifica el campo del proyecto que se va a mostrar en la nueva columna; no puede ser uno de los campos prohibidos (consulte comentarios).
SharePointName Opcional Variant Nombre de la nueva columna.

Valor devuelto

Boolean

True si se agrega la columna.

Comentarios

El método AddSiteColumn proporciona el error en tiempo de ejecución 1004, "Error definido por la aplicación o definido por el objeto", en los casos siguientes:

  • El proyecto activo no está asociado a una lista de tareas sincronizadas de SharePoint. Si el proyecto es local, puede usar el método LinkToTaskList para crear una lista de tareas sincronizadas de SharePoint.

  • El nombre de columna ya existe en la lista de tareas de SharePoint. Para ver la lista de nombres de columna, abra la lista de tareas en SharePoint y, a continuación, elija Modificar vista en la pestaña LISTA. La página Vista de edición de configuración > muestra todos los nombres de columna que están disponibles para la lista de tareas.

  • El valor ProjectField es un campo que no es de tarea, como pjResourceActualCost. Una lista de tareas de SharePoint muestra campos de tareas, no campos de recursos.

  • El valor de ProjectField es un campo personalizado de empresa, como pjTaskEnterpriseProjectText1, o un campo de tabla de búsqueda como pjTaskResourceEnterpriseRBS. Los campos personalizados de tareas locales, como pjTaskText1, son válidos.

  • El valor de ProjectField es uno de los campos prohibidos de la tabla 1. Estos campos se suman a los campos de recursos prohibidos y a los campos personalizados de empresa. Los campos están prohibidos porque están relacionados con otros campos prohibidos o tienen tipos de valor que no se admiten en una lista predeterminada de tareas de SharePoint.

Aunque los campos prohibidos que se muestran en la tabla siguiente pueden parecer una lista larga, de las 1.338 constantes de PjField, hay 357 (incluidos los campos personalizados de tareas locales) que se pueden usar con el método AddSiteColumn .

Campos prohibidos adicionales

Field Field Field
pjTaskActive pjTaskActualOvertimeWork pjTaskACWP
pjTaskAssignmentDelay pjTaskAssignmentPeakUnits pjTaskAssignmentUnits
pjTaskBaseline[1-10]BudgetCost pjTaskBaseline[1-10]BudgetWork pjTaskBaseline[1-10]FixedCostAccrual
pjTaskBaselineBudgetCost pjTaskBaselineBudgetWork pjTaskBaselineFixedCostAccrual
pjTaskBudgetCost pjTaskBudgetWork pjTaskCalendarGuid
pjTaskConstraintDate pjTaskConstraintType pjTaskCostRateTable
pjTaskDeliverableGuid pjTaskDeliverableType pjTaskDemandedRequested
pjTaskEarnedValueMethod pjTaskEnterpriseOutlineCode[1-30] pjTaskExternalTask
pjTaskFinishSlack pjTaskFixedCostAccrual pjTaskFreeSlack
pjTaskGuid pjTaskHideBar pjTaskHyperlink
pjTaskHyperlinkAddress pjTaskHyperlinkHref pjTaskHyperlinkScreenTip
pjTaskHyperlinkSubAddress pjTaskID pjTaskIgnoreWarnings
pjTaskIndicators pjTaskIsAssignment pjTaskLevelAssignments
pjTaskLevelDelay pjTaskLinkedFields pjTaskManual
pjTaskMilestone pjTaskNotes pjTaskObjects
pjTaskOutlineCode[1-10] pjTaskOutlineLevel pjTaskOutlineNumber
pjTaskPathDrivenSuccessor pjTaskPathDrivingPredecessor pjTaskPathPredecessor
pjTaskPathSuccessor pjTaskPreleveledFinish pjTaskPreleveledStart
pjTaskPriority pjTaskResourceType pjTaskStartSlack
pjTaskStatus pjTaskStatusIndicator pjTaskSubproject
pjTaskSubprojectReadOnly pjTaskTotalSlack pjTaskType
pjTaskWarning pjTaskWorkContour

Es posible agregar un campo que ya existe en la lista de tareas, si usa un nombre único para el parámetro SharePointName , aunque el valor de hacerlo es cuestionable.

Ejemplo:

Para usar la macro AddDurationColumns, cree una lista de tareas en un sitio de SharePoint, cree un proyecto en Project Profesional y, a continuación, use el método LinkToTaskList para importar la lista de tareas. Establezca una línea base para el proyecto activo mediante el comando Establecer línea base en la pestaña PROYECTO de la cinta de opciones y, a continuación, cambie la duración de algunas tareas.

La macro AddDurationColumns agrega duración de la tarea y duración de línea base a la lista de columnas disponibles en la lista de tareas de SharePoint (vea la figura 1).

Nota:

Después de ejecutar la macro AddDurationColumns, debe guardar el proyecto en Project Profesional para sincronizar los cambios con la lista de tareas de SharePoint.

Sub AddDurationColumns()
    Dim success As Boolean
    Dim results As String
    Dim columnName As String
    Dim fieldName As PjField
    results = ""
    
    ' Add the first column.
    fieldName = pjTaskBaselineDurationText
    columnName = "Baseline duration"
    
    ' If the field name exists in the SharePoint tasks list, or fieldName
    ' is one of the prohibited fields, the AddSiteColumn method
    ' returns error 1100.
    On Error Resume Next
    
    success = AddSiteColumn(fieldName, columnName)
    
    If success Then
        results = "Added site column: " & columnName
    Else
        results = "Error in AddSiteColumn: " & columnName
    End If
    
    ' Add the second column.
    fieldName = pjTaskDurationText
    columnName = "Current duration"
    
    success = AddSiteColumn(fieldName, columnName)
    
    If success Then
        results = results & vbCrLf & "Added site column: " & columnName
    Else
        results = results & vbCrLf & "Error in AddSiteColumn: " & columnName
    End If
    
    Debug.Print results
End Sub

Después de guardar el proyecto, vaya a la lista de tareas en SharePoint. En la pestaña LISTA, seleccione el comando Modificar vista. En la página Configuración - Editar vista, seleccione el campo Duración de línea base y el campo Duración actual que agregó la macro AddDurationColumns . En la figura 1 se muestra la lista de tareas con los dos campos nuevos.

Figura 1. Adición de campos a una lista de tareas sincronizada de SharePoint

Adición de campos a una lista de tareas sincronizada

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.