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
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.